3

alias_attributeDBから列の完全なエイリアスを作成するようなものが必要です。たとえば、のような名前の列が多数あるテーブルがありますUGLYCOLUMN

クエリで使用するのは非常に不快です。

MyModel.where('UglyColumn'.upcase => 'value')

ある種のものが欲しい:

class MyModel < ActiveRecord::Base
  awesome_alias_attribute {'UGLYCOLUMN' => :pretty_column, ...}
  ...
end

そして、MyModel.where(pretty_column: 'value')の代わりに使用しMyModel.where('UglyColumn'.upcase => 'value')ます。

さらに、複雑なクエリなどでも機能する必要がありますMyModel.joins(:other_relation).where(my_models: {pretty_column: 'value'})

完璧なケースでは、すべての ActiveRecord メソッドとプロパティで動作する必要があります。つまり、最初に主キーのエイリアスを作成すると、利益が得られますawesome_alias_attribute :UGLYPRIMARYKEY, :idself.primary_key = :id

4

0 に答える 0