如何循环遍历所有属性和alias_attribute?

时间:2013-08-06 00:46:53

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有一个与旧数据库对话的Rails应用程序,其中所有列都是大写的,例如NAMETYPECREATED_AT。提供将这些列重命名为较小的案例不是一种选择。

我明白可以使用     alias_attribute, :new_name, :old_name     创建别名。

但是,有没有办法循环遍历所有列并将属性别名为小写?如下所示:

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

1 个答案:

答案 0 :(得分:1)

attributes是一个实例方法,但column_names是一个适合您目的的类方法。

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