0

NAMEレガシー データベースと対話する Rails アプリがあります。この場合、すべての列は, 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
4

1 に答える 1

1

attributesはインスタンス メソッドですがcolumn_names、目的に合ったクラス メソッドです。

class Apple < ActiveRecord::Base
    Apple.column_names.each do |att|
      alias_attribute :att.downcase, :att
    end
  end
end
于 2013-08-06T00:51:02.277 に答える