Rails 3.1中的Scoped质量赋值和accepts_nested_attributes_for不起作用?

时间:2011-06-13 05:59:45

标签: ruby-on-rails-3 scope mass-assignment scoped-mass-assigment

使用Rails 3.1 RC4。

我的用户模型具有以下内容:

  has_many :emails, :dependent => :destroy
  accepts_nested_attributes_for :emails

我的电子邮件模型包含以下内容:

  belongs_to :user
  attr_accessible :email, :email_confirmation, :as => :admin

在Rails控制台中:

User.first.update_attributes!({:artist_name => 'foo', :emails_attributes => {0 => {:email => 'foo@blah.com', :email_confirmation => 'foo@foo.com'}}}, :as => :admin)

我明白了:

WARNING: Can't mass-assign protected attributes: email, email_confirmation

在我的电子邮件模型中,如果我删除:as => :admin。一切正常......

我应该为accepts_nested_attributes_for分配某种范围吗?任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题和解决方案已突出显示here

总之,必须传递选项哈希。