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
我正在 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