我有一个与旧数据库对话的Rails应用程序,其中所有列都是大写的,例如NAME
,TYPE
,CREATED_AT
。提供将这些列重命名为较小的案例不是一种选择。
我明白可以使用
alias_attribute, :new_name, :old_name
创建别名。
但是,有没有办法循环遍历所有列并将属性别名为小写?如下所示:
class Apple < ActiveRecord::Base
Apple.attribtues.each do |att|
alias_attribute :att.down_case, :att
end
end
答案 0 :(得分:1)
attributes
是一个实例方法,但column_names
是一个适合您目的的类方法。
class Apple < ActiveRecord::Base
Apple.column_names.each do |att|
alias_attribute :att.downcase, :att
end
end
end