我在我的Rails项目中使用ActiveAdmin。我使用Draper作为装饰,但我不明白为什么show view没有装饰。根据{{3}},只需在我的ActiveAdmin资源中添加decorate_with MyDecorator
即可。
这是我的代码:
ActiveAdmin.register Home do
...
decorate_with HomeDecorator
show do
attributes_table do # not being decorated
row :content
row :status
row :image
row :author_with_avatar
end
end
end
有人知道我的代码有什么问题吗?
答案 0 :(得分:1)
当我遇到这个问题时,那是因为我customized the controller's find_resource
method。在这种情况下,请务必返回手动装饰的对象:
def find_resource
MyModel.find_by_some_unique_finder(params[:id]).decorate
end
如果所有其他方法都失败了,你可以使用这种方法强制它:
show
attributes_table_for model.decorate do
row :decorator_method
row(:custom_label) { |m| m.decorator_method }