Rails => Has_many 和 belongs_to ...

Rails => Has_many and belongs_to ...

我正在 Rails 上的 Ruby 上开发一个求职板应用程序。

我有 2 个模型,工作和简历...工作有

class Job < ActiveRecord::Base
  has_many :resumes
end

并继续

class Resume < ActiveRecord::Base
  belongs_to :job
end

我想要的是在不消除与 Resume 关联的情况下消除职位发布的能力,因为所有的简历都有一个 Job 关联,将来我想记住 简历 belongs_to旧职位发布...

我正在使用 Rails_admin 所以我想记住 简历属于工作

也许不是删除作业,而是在作业模型上使用某种停用标志 "eliminate" 它。这样,即使在取消工作后,您也可以保留所有关联。

扩展 Adnan 的回答,您可以在名为 active 的 Job 模型中添加一个布尔值列,默认为 true。当您想要 "delete" 一份工作时,只需将该字段切换为 false。在面向用户的一侧,您可以确定作业范围,以便仅显示活动作业。

class Job < ActiveRecord::Base
  has_many :resumes

  scope :active, -> { where(active: true) }
end

class JobsController < ApplicationController
  def index
    @jobs = Job.active
  end
end