2013-08-06 79 views
0

我有一個Rails應用程序與舊數據庫對話,其中,所有列均爲大寫,例如NAME,TYPE,CREATED_AT。提供將這些列重命名爲小寫不是一種選擇。如何遍歷所有屬性和alias_attribute?

我知道可以使用 alias_attribute, :new_name, :old_name 創建別名。

但是,有沒有辦法循環所有的列和別名的屬性小寫?像下面這樣:

class Apple < ActiveRecord::Base 
     Apple.attribtues.each do |att| 
     alias_attribute :att.down_case, :att 
     end 
    end 
+0

我的答案是否奏效?讓我知道你是否仍然需要幫助。謝謝! – Powers

回答

1

attributes是一個實例方法,但column_names是,應該適合你的目的一個類的方法。

class Apple < ActiveRecord::Base 
    Apple.column_names.each do |att| 
     alias_attribute :att.downcase, :att 
    end 
    end 
end 
+0

謝謝先生。這工作完美。 –