У меня есть 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
Я хочу обновить родительскую Contract
из дочерней Job 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
Однако это создает новый Contract
с каждым отправлением формы Job Contract
. Могу ли я использовать вложенные атрибуты потомка для изменения родителя? Мой текущий план состоит в том, чтобы просто использовать кнопку ajax для обновления Contract
из Job Contract
формы