Fiv*_*ell 8 ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
开发商!我无法理解下一个情况
例如,我有模型
class Pg::City < ActiveRecord::Base
belongs_to :country
#virtual accessors
attr_accessor :population
#attr_accessible :city, :isdisabled, :country_id
end
Run Code Online (Sandbox Code Playgroud)
我可以使用这样的代码:
c = Pg::City.new({:population=>1000})
puts c.population
1000
Run Code Online (Sandbox Code Playgroud)
但是,如果我取消注释上面的attr_accessible代码抛出警告
WARNING: Can't mass-assign protected attributes: population
Run Code Online (Sandbox Code Playgroud)
如何将虚拟属性与模型属性一起用于质量分配?谢谢!
Dyl*_*kow 21
使用attr_accessor添加变量不会自动将它添加到attr_accessible.如果您要使用attr_accessible,则需要添加:population到列表中:
attr_accessor :population
attr_accessible :city, :isdisabled, :country_id, :population
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3591 次 |
| 最近记录: |