シチュエーション
showでhas_many関係にある子要素のテーブル表示する時なんかに。
実装
module TableDecoration
def build(obj, *attrs)
ActiveDecorator::Decorator.instance.decorate(obj)
super(obj, *attrs)
end
end
module ActiveAdmin
module Views
class TableFor < Arbre::HTML::Table
prepend TableDecoration
end
end
end
余談
もともとはalias_method_chainを使った実装を試していたのですが、メソッド名が変わる影響か、TableFor#build内で呼ぶsuperが機能しておらず、prependを使った方法に切り替えています。エラーにはならず、ただtrの中にtdがrenderされなかっただけで、詳細な理由は調査しきれていないです。