开发商!我无法理解下一个情况
例如我有模型
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,:country_id,:population