开发者!我无法理解接下来的情况
例如我有模型
class Pg::City < ActiveRecord::Base
belongs_to :country
#virtual accessors
attr_accessor :population
#attr_accessible :city, :isdisabled, :country_id
end
我可以使用这样的代码:
c = Pg::City.new({:population=>1000})
puts c.population
1000
但是如果我取消注释上面的 attr_accessible 代码会抛出警告
WARNING: Can't mass-assign protected attributes: population
如何将虚拟属性与模型属性一起用于质量分配? 谢谢!
最佳答案
使用 attr_accessor
添加变量不会自动将其添加到 attr_accessible
。如果您要使用 attr_accessible
,则需要将 :population
添加到列表中:
attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population
关于ruby-on-rails - 虚拟属性和质量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9005567/