大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 如何在名为“有效”的列的数据库上使用ActiveRecord? (DangerousAttributeError),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个例外是有道理的,但是由于我无法更改数据库,我该如何解决这个错误呢?
我尝试“覆盖”属性,但我不知道如何删除原始列.我可以成功调用这个valid_column方法,但是任何时候我尝试访问数据库中定义的另一个属性,我得到相同的异常.它似乎正在尝试映射有效的列.
def valid_column=(valid) write_attribute(:valid,valid) end def valid_column read_attribute(:valid) end
我不知道是否重要,但这里是我的环境的细节:
> Windows Ruby 1.8.6
>在Linux服务器上的Informix数据库
> activerecord(2.3.4)
> activerecord-informix-adapter(1.0.0.9250)
> ruby-informix(0.7.1)
提前致谢!
class MyTable < AR:Base class << self def instance_method_already_implemented?(method_name) return true if method_name == 'valid' super end end end
这是一个黑客,它在rails 3中可能不起作用,但是现在可以解决问题.
我发现它在ruby on rails mailing list
如果你想要的话,你也可以看看datamapper,它更适合处理这些事情.
以上是大佬教程为你收集整理的ruby-on-rails – 如何在名为“有效”的列的数据库上使用ActiveRecord? (DangerousAttributeError)全部内容,希望文章能够帮你解决ruby-on-rails – 如何在名为“有效”的列的数据库上使用ActiveRecord? (DangerousAttributeError)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。