添加自定义过滤器活动管理员 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
我从事一个食品科技项目,人们可以在该项目上从餐厅订餐;所以我的数据库中有以下关系:
每点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