【发布时间】:2019-01-09 04:59:17
【问题描述】:
我有一个 Contract 模型父级,它有一个 Job Contract 模型子级。 Contract 表就像基础表,Job Contract 表是该基础合约的详细信息,可以在未来扩展。
class Contract < ApplicationRecord
has_one :job_contract, dependent: :nullify
after_create :create_job_application_contract
def create_job_application_contract
JobContract.create(contract_id: self.id)
end
end
class JobContract < ApplicationRecord
belongs_to :contract, optional: true
end
我想从子 Job Contract 表单更新父 Contract,因此我在 Job Contract 表单中使用嵌套属性
class JobContract < ApplicationRecord
belongs_to :contract, optional: true
accepts_nested_attributes_for :contract
end
# edit.html.slim
= simple_form_for @job_contract do |f|
= f.simple_fields_for :contract do |c|
= c.input :salary
但是,这会在每次提交 Job Contract 表单时创建一个新的 Contract。我可以使用子级的嵌套属性来修改父级吗?我目前的计划是使用 ajax 按钮从 Job Contract 表单更新 Contract
【问题讨论】:
标签: ruby-on-rails