在rails_admin

时间:2016-01-06 00:49:30

标签: ruby-on-rails ruby-on-rails-4 rails-admin

我也使用rails_admin作为报告工具,并利用导出到CSV功能来提取特定数据。这工作正常,但我现在需要根据2个日期之间的数据过滤结果,但日期在通过has_many关系链接的模型上。

这是一个例子

class Patient < ActiveRecord::Base
  has_many :appointments
end

class Appointment < ActiveRecord::Base
  belongs_to :patient
  # has field: 'date'
end

我可以在RailsAdmin中加载患者,并在列表视图中显示约会,但是如何添加过滤器以仅显示在日期X和Y之间预约的患者?这有可能吗?

无论如何使用命名范围并传入参数?或者如何加载rails_admin的虚拟模型? SQL对此非常简单,但我不确定如何传递实际的日期参数?

1 个答案:

答案 0 :(得分:0)

我也很好奇如何解决这个问题。

一种选择是将约会添加到过滤器下拉列表,但不允许您选择日期。

rails_admin do
  include_all_fields
  field :appointments do
    filterable true
  end
  list do
    filters [:appointments] # this will make it show up by default
  end
end

另一个选择是创建custom action并在app / views / rails_admin / mail / filter.html.haml创建页面,您可以在其中构建常规搜索表单