我正在訪問一個我無法更改的數據庫,它有一個名爲的有效的列已定義。任何時候我嘗試訪問一個屬性,我得到這個例外:如何在具有名爲'valid'的列的數據庫上使用ActiveRecord? (DangerousAttributeError)
有效嗎?由ActiveRecord的 (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服務器
- 的ActiveRecord上
- Informix數據庫( 2.3.4)
- activerecord-informix-adapter(1.0.0.9250)
- ruby-informix(0.7.1)
在此先感謝!
您可能需要更改'如果METHOD_NAME ==返回true「valid''到'返回true,如果METHOD_NAME == '有效嗎?''爲了得到它的工作。我做到了。 – 2012-12-04 16:42:08
問題標記似乎需要在rails 3中。 – Kelvin 2013-07-16 20:21:52