添加自定义Filter Active Admin Rails

时间:2018-01-13 11:35:43

标签: ruby-on-rails ruby-on-rails-5 activeadmin

我在一个食品技术项目上工作,人们可以从餐馆订餐;所以我的数据库中有以下关系:

每份订单belongs_to一餐和每餐belongs_to一家餐馆。

我希望能够在/ admin / orders页面上按餐馆名称进行过滤。 如果可能的话,我还想在页面上添加一个“餐馆名称”栏。

任何想法?

1 个答案:

答案 0 :(得分:2)

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

我在has_one :restaurant, through: :meal中添加了model/order.rb,并以这种方式添加了过滤器: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