我必须连接到我们的freeradius服务器使用的现有数据库.一个表有一个名为属性的列,我正在尝试访问.
访问时,我得到他的错误:
ActiveRecord::DangerousAttributeError attribute? is defined by ActiveRecord
我试图在我的模型中选择并重命名此列:
def self.default_scope Radcheck.select("attribute as newattribute") end
但这也不行.
有人可以推荐一下吗?我真的很想在rails里重命名列!
解决方法
在类似的问题上,我发现这个答案:
https://stackoverflow.com/a/9106597/1266906
无需关心ActiveRecord在Rails 3.0中保留哪些属性,只需添加
gem 'safe_attributes'
与其他答案一样,您需要使用Radcheck [:attribute]或Radcheck.read_attribute:attribute / Radcheck.write_attribute:attribute,’value’来访问具有内部保留名称的字段,但gem确保验证(如validates_presence_of:attribute)将作为通常.