Virtual attributes and mass-assignment

拥有回忆 提交于 2019-12-06 22:27:52

问题


developers! I can't understand next situation

For Example I have model

class Pg::City < ActiveRecord::Base
   belongs_to :country  
   #virtual accessors
   attr_accessor :population
   #attr_accessible :city, :isdisabled,  :country_id

end

I can use code like this:

c = Pg::City.new({:population=>1000})
puts c.population
1000

But if I uncomment attr_accessible code above throw warning

WARNING: Can't mass-assign protected attributes: population

How can I use virtual attributes for mass-assigmnment together with model attributes? Thanks!


回答1:


Using attr_accessor to add a variable does not automatically add it to attr_accessible. If you are going to use attr_accessible, then you will need to add :population to the list:

attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population


来源:https://stackoverflow.com/questions/9005567/virtual-attributes-and-mass-assignment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!