添加自定义过滤器活动管理员 Rails

add a custom Filter Active Admin Rails

我从事一个食品科技项目,人们可以在该项目上从餐厅订餐;所以我的数据库中有以下关系:

每点belongs_to一顿饭,每顿饭belongs_to一家餐厅。

我希望能够在 /admin/orders 页面上按餐厅名称进行过滤。 另外,如果可能的话,我想在页面上添加一个 'restaurant name' 列。

有什么想法吗?

好的,这就是我最终所做的;它完美地解决了这个问题。

我在 model/order.rb 中添加了 has_one :restaurant, through: :meal 并以这种方式简单地添加了过滤器:filter :restaurant

这使我能够添加餐厅过滤器。

要获取餐厅列,代码如下:

在admin/order.rb

index do
  column("Order", :sortable => :id) {|order| link_to "##{order.id} ", admin_order_path(order) }
  column("pick up time", :pick_up_time)
  column("status", :status)
  column("User", :user_id ) {|order| link_to "#{order.user.first_name}  #{order.user.last_name}", admin_user_path(order.user) }
  column("Meal", :meal)
  column("Restaurant", :restaurant) // This line adds the restaurant column
  column("Created at", :created_at)
  column("Updated at", :updated_at)
end