我也使用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对此非常简单,但我不确定如何传递实际的日期参数?
答案 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创建页面,您可以在其中构建常规搜索表单