如何在 activeadmin rails 的过滤器下拉列表中添加排序元素
how to add sorted elements in the filter dropdown in activeadmin rails
我有一个 Post 模型,Post源模型。一个Post源有多个post,一个post属于一个Post源。
使用 ActiveAdmin,在 Post 的索引操作中,我以这种方式显示 PostSource 的过滤器:
filter :post_source, label: 'Source'
filter :category, as: :select, collection: Category.order(:name).collect { |cat| [cat.name, cat.id] }
控制器为:
controller do
def scoped_collection
end_of_association_chain.includes(:post_source)
end
end
它显示来源,但不按排序顺序显示。在这种情况下如何对过滤器进行排序?
我尝试在过滤器上添加可排序的顺序,但它似乎不起作用
如果您尝试对第一个过滤器 ('post_source') 进行排序,您可以像在第二行中那样添加一个集合,然后在一个块内进行排序。
filter :post_source, label: 'Source', collection: proc { PostSource.order(:name) }
此语法也可用作第二个示例中的替代方法。
我有一个 Post 模型,Post源模型。一个Post源有多个post,一个post属于一个Post源。
使用 ActiveAdmin,在 Post 的索引操作中,我以这种方式显示 PostSource 的过滤器:
filter :post_source, label: 'Source'
filter :category, as: :select, collection: Category.order(:name).collect { |cat| [cat.name, cat.id] }
控制器为:
controller do
def scoped_collection
end_of_association_chain.includes(:post_source)
end
end
它显示来源,但不按排序顺序显示。在这种情况下如何对过滤器进行排序?
我尝试在过滤器上添加可排序的顺序,但它似乎不起作用
如果您尝试对第一个过滤器 ('post_source') 进行排序,您可以像在第二行中那样添加一个集合,然后在一个块内进行排序。
filter :post_source, label: 'Source', collection: proc { PostSource.order(:name) }
此语法也可用作第二个示例中的替代方法。