我的应用程序有安装控制器和地址控制器。
Address has_one :installation and Installation belongs_to :address
在我的安装视图中,我在其他simple_form中有一个simple_form。像这样:
<%= simple_form_for @installation, class: 'form-horizontal' do |f| %>
<%= f.error_notification %>
<%= f.simple_fields_for @installation.address do |u| %>
<%= u.label :street_address, label: t('address.address_label'), required: true, class: 'col-sm-2 control-label' %>
<%= u.input_field :street_address, class: 'form-control'
%>
那我怎么能更新这两个模型呢?
我可以有两个def params吗?喜欢这个:
def installation_params
params.require(:installation).permit(x)
end
def installation_address_params
params.require(:????).permit(y)
end
答案 0 :(得分:3)
您可以使用nested attributes。
未经测试,但粗略地说:
型号:
class Installation < ActiveRecord::Base
belongs_to :address
accepts_nested_attributes_for :address
end
在您的InstallationsController
:
params.require(:installation).permit(...,
address_attributes: [:id, ...])