关于它的问题很多,但我无法找到答案。 我'已经:
group.rb
class Group < ActiveRecord::Base
has_many :descriptions, :as => :describable
accepts_nested_attributes_for :descriptions
end
description.rb
class Description < ActiveRecord::Base
belongs_to :describable, :polymorphic => true
end
groups_controller.rb
def update
@group = Group.find(params[:id])
if @group.update_attributes(group_params)
flash[:success] = "yes"
redirect_to groups_path
else
render 'edit'
end
end
private
def group_params
params.require(:group).permit(:owner_id, :domain, descriptions_attributes: [:id, :content])
end
edit.html.erb
<%= simple_form_for @group do |f| %>
<% if @group[:domain].blank? %>
<%= f.input :domain %>
<% else %>
<%= f.input :domain, readonly: true %>
<% end %>
<%= f.input :owner_id, readonly: true %>
<%= f.simple_fields_for :descriptions do |description| %>
<%= description.input :content %>
<% end %>
<%= f.button :submit %>
<% end %>
在控制台I&#39; Unpermitted parameter: description
中,未创建嵌套属性。我该怎么做才能最后保存它?
答案 0 :(得分:0)
我认为在生成嵌套多态连接的表单时,Rails不会将表单name
转换为names_attributes
,这样:
... description: [:content, :other_param, ...]
对于多态孩子来说,这对我来说很好。