私はalias_attributeなどのアトリビュートをアソシエーションを通じてアトリビュートに使用したいと考えています。 delegate
と似たようなことができますが、生成されたすべてのメソッド(attribute=
、attribute?
など)を委譲する必要があります。RoRのbelongs_toまたはhas_one関連付けによって属性の別名を付けることはできますか?
は、この可能性のようなものです:
class State < ApplicationRecord
has_many :cities
end
class City < ApplicationRecord
belongs_to :state
alias_attribute :state_flag, :state.flag
end
これは検索には使用できますが、割り当てはできません。また、 'state_flag?'、 'state_flag_changed'などのヘルパーメソッドをすべて追加するわけではありません。 –