我有與像一羣白癡命名的列的舊的數據庫:Rails ActiveRecord:自動別名/追加後綴?
some_field_c some_other_field_c a_third_field_c
我很想做一個Rails的ActiveRecord子類,自動別名這些屬性,以他們的名字去掉下劃線和「C」。然而,當我嘗試:
attributes.each_key do | key |
name = key
alias_attribute key.to_sym, key[0, (key.length -2)].to_sym if key =~ /_c$/
end
在我的類定義
我得到了一個「未定義的局部變量或方法'屬性」的錯誤。我也嘗試覆蓋這些方法:
method_missing respond_to?
但我一直收到錯誤的路線了。
所以我的問題(實際上的問題)是/是:
- 正是我試圖做甚至可能嗎?
- 如果是這樣,那麼最好的方法是什麼(迭代混疊或覆蓋方法丟失)?
- 如果沒有太多的麻煩,一個非常簡短的如何做#2的代碼示例會很棒。
在此先感謝您收到的任何答案。
你可以發佈一個完整的例子,這應該是很容易獲得工作 – 2009-02-04 01:48:56