ruby-on-rails – 虚拟属性和批量分配

开发商!我无法理解下一个情况

例如我有模型

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...