普通にDraperでdecoratorを適用するだけど忘れそうなのでメモ
app/decorators/tag_decorator.rb
class TagDecorator < ApplicationDecorator
def name
"id:#{object.id} <#{object.text_ja}>"
end
end
app/admin/post_decorator.rb
form do |f|
...
f.input :tag,
collection: TagDecorater.decoreate_collection(Tag.all)
...
end
もちろんCollectionに対してDecoratorを作っておく方法でも良い
↓
class TagsDecorator < Draper::CollectionDecorator
def page_number
42
end
end
---
↓
TagsDecorater.decoreate(Tag.all)