ActiveDecoratorでdecorateしたオブジェクトのhas_one/belong_to先のオブジェクトが自動でdecorateされるようにする
1874 ワード
シチュエーション
本来ならば、association先のオブジェクトの内容を描画する部分はpartialのtemplateに切り出すべきであろう、という思想のもとにactive_decoratorは作られていますが、それが難しい、あるいはやると逆に記述が煩雑になる場合があります。そういう場合の選択肢として。
実装
module AssociationDecorator
def reader(*args)
result = super
if self.owner.is_a?(ActiveDecorator::Helpers)
ActiveDecorator::Decorator.instance.decorate(result)
end
result
end
end
module ActiveRecord
module Associations
class SingularAssociation
prepend AssociationDecorator
end
end
end
今回はやってないですが、CollectionAssociationに同様にprependすることでhas_manyにも対応できるはずです。
Author And Source
この問題について(ActiveDecoratorでdecorateしたオブジェクトのhas_one/belong_to先のオブジェクトが自動でdecorateされるようにする), 我々は、より多くの情報をここで見つけました https://qiita.com/skuroki@github/items/087e0953583d259738a5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .