ruby-on-rails – ActiveRecord :: DangerousAttributeError

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ActiveRecord :: DangerousAttributeError前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须连接到我们的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'

对于您的Gemfile,宝石将自动尝试照顾所有碰撞的名称.

与其他答案一样,您需要使用Radcheck [:attribute]或Radcheck.read_attribute:attribute / Radcheck.write_attribute:attribute,’value’来访问具有内部保留名称的字段,但gem确保验证(如validates_presence_of:attribute)将作为通常.

更多详情可在https://github.com/bjones/safe_attributes

原文链接:https://www.f2er.com/ruby/266445.html

猜你在找的Ruby相关文章