无法批量分配受保护的属性:user

时间:2012-09-16 14:58:15

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我正在开发一个简单的应用程序,要求我提交表单。我创建了两个模型。

user.rb

class User < ActiveRecord::Base
  attr_accessible :email

  has_many :item
end

item.rb的

class Item < ActiveRecord::Base
  attr_accessible :user_id

  belongs_to :user
end

我没有使用用户表单视图创建用户,而是尝试使用项目表单视图创建用户。

项/ _form.html.haml

= nested_form_for @item do |form|

  = form.fields_for :user do |builder|
    = builder.text_field :email

  = form.submit "Save"

我在这里错过了什么吗?我正在使用nested_form_for btw。谢谢。

3 个答案:

答案 0 :(得分:0)

试试这个

attr_accessible :email :user

答案 1 :(得分:0)

试试这段代码

class Item < ActiveRecord::Base
  attr_accessible :user_id
  accepts_nested_attributes_for :user      # <--- This should help

  belongs_to :user
end 

class User < ActiveRecord::Base
  attr_accessible :email

  has_many :items                          # <--- Typofix
end

答案 2 :(得分:0)

找到了我的问题的答案。

我更新了我的items_controller.rb

def new
  @item = Item.new
  @item.user = User.new # I added this line.
end

然后我更新了item.rb

class Item < ActiveRecord::Base
  attr_accessible :user_attributes

  belongs_to :user
  accepts_nested_attributes_for :user
end