嵌套的simple_form与多态关联。未合成的参数

时间:2015-12-11 19:48:48

标签: ruby-on-rails simple-form nested-attributes polymorphic-associations

关于它的问题很多,但我无法找到答案。 我'已经:

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中,未创建嵌套属性。我该怎么做才能最后保存它?

1 个答案:

答案 0 :(得分:0)

我认为在生成嵌套多态连接的表单时,Rails不会将表单name转换为names_attributes,这样:

... description: [:content, :other_param, ...]

对于多态孩子来说,这对我来说很好。