0

我在执行 rake:seed 时遇到此错误。无法批量分配受保护的属性

我知道他们是关于此错误的其他帖子,解决方案是将 attr_accessible 添加到模型中,但我不知道如何将其添加到ActiveRecord::Schema.define

实际上,我正在从实用书这本书中学习 Rails,我从那本书中得到了这段代码,

ActiveRecord::Schema.define(:version => 20120814110309) do

  create_table "products", :force => true do |t|
    t.string   "title"
    t.text     "descripton"
    t.string   "image_url"
    t.decimal  "price",      :precision => 8, :scale => 2
    t.datetime "created_at",                               :null => false
    t.datetime "updated_at",                               :null => false
  end

end

我必须将 attr_accessible 添加到描述中,所以我该怎么做

更新:

我的 products.rb 已经有 attr_accessible,但它不起作用!?

# app/models/product.rb
class Product < ActiveRecord::Base  
    attr_accessible :descripton, :image_url, :price, :title
end

更新:

*我想通了,这是一个错字问题,thanx 无论如何,它的工作,但我没有得到在 scema 中添加 attr_accessable 而不是在模型中添加它的实际解决方案。如果那是个坏主意,为什么会这样?*

4

1 回答 1

1

attr_accessible 不在 schema.rb 上。它在你的模型上。根据您在上面发布的代码,您可能想要:

# app/models/product.rb
class Product < ActiveRecord::Base
 attr_accessible :title, :description # Add as needed
end
于 2012-08-16T20:47:14.500 回答