使活动管理员从对象返回值

时间:2014-12-23 19:35:10

标签: ruby-on-rails ruby activeadmin

我尝试使用属于assosiation的过滤器来获取带有选项的复选框。

我尝试在文档(https://github.com/activeadmin/activeadmin/blob/master/docs/3-index-pages.md

中使用它
filter :author, as: :check_boxes, collection: proc { Author.all }

但是这会将选项作为像

这样的元素列表返回
#<AUTHOR:0X007FAA63DF5F60>

我希望它返回作者的名字,它在迁移中的名称为字符串。

我在表格中遇到了类似的问题,我最终制作了自己的部分内容。

使用rails 4.1.4,使用github https://github.com/activeadmin/activeadmin

中的活动管理员

1 个答案:

答案 0 :(得分:0)

有不同的方法来解决这个问题。

您可以在模型上定义display_name方法,并返回作者姓名或执行此操作:

filter :author, as: :check_boxes, collection: proc { Author.all.map{|a| [a.name, a.id] } }

或者这个:

filter :author, as: :check_boxes, collection: proc { Author.pluck(a.name, a.id) }