Mic*_*ael 14 informix activerecord ruby-on-rails
我正在访问一个我无法更改的数据库,它有一个名为valid defined 的列.每当我尝试访问属性时,我都会遇到以下异常:
有效?由ActiveRecord定义(ActiveRecord :: DangerousAttributeError)
异常是有道理的,但由于我无法更改数据库,如何解决此错误?
我尝试"覆盖"该属性,但我不知道如何删除原始列.我可以成功调用这个valid_column方法,但是每当我尝试访问数据库中定义的另一个属性时,我都会得到相同的异常.它似乎仍在尝试映射有效列.
def valid_column=(valid)
write_attribute(:valid, valid)
end
def valid_column
read_attribute(:valid)
end
Run Code Online (Sandbox Code Playgroud)
我不确定这是否重要,但以下是我的环境的详细信息:
提前致谢!
Bar*_*cat 11
试试这个:
class MyTable < AR:Base
class << self
def instance_method_already_implemented?(method_name)
return true if method_name == 'valid'
super
end
end
end
Run Code Online (Sandbox Code Playgroud)
这是一个黑客,它可能无法在rails 3中工作,但它现在可以解决问题.
我在ruby on rails邮件列表上找到了它
如果你愿意,你也可以看一下datamapper,它可以更加理智地处理这些事情.
| 归档时间: |
|
| 查看次数: |
6282 次 |
| 最近记录: |