2

コードは次のとおりです。

ユーザー.rb

class User < ActiveRecord::Base
    # So we can reference the user's Client information with user.as_client
    has_one :as_client, :class_name => 'ClientAccount'
    accepts_nested_attributes_for :as_client
end

form.html.erb

<%= f.label :first_name %>
<%= f.text_field :first_name %>

<%= f.fields_for :as_client do |c| %>
  <%= c.label :website %>
  <%= c.text_field :website %>
<%= end %>

さて、フォームを送信すると、これが送信されます。

{"user"=>{"first_name"=>"Name", "as_client_attributes"=> "website"=>"http://website.com"}}, "commit"=>"Update User"}

そして、私はこのエラーを受け取ります:

Can't mass-assign protected attributes: as_client_attributes

どうすればこれを機能させることができますか?ありがとう!

4

1 に答える 1

4

attr_accessible :as_client_attributesを介して属性を一括割り当てできるように、User モデルを追加する必要がありますaccepts_nested_attributes_for

http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

于 2013-01-12T03:08:42.460 に答える