【发布时间】:2015-04-30 16:03:29
【问题描述】:
我正在尝试在 ActiveAdmin 用户模型上编写自定义方法。据我了解,我必须为此使用 ransacker。
我希望在 UI 下拉列表中显示如下内容:
Aug 2010-Aug 2011
Aug 2011-Aug 2012
Aug 2012-Aug 2013
Aug 2013-Aug 2014
Aug 2014-Aug 2015
Aug 2015-Aug 2016
这是我需要从中获取信息的表格。
Users
------
id (int)
school_participants
-------------------
user_id (int)
start_date (datetime)
SchoolParticipant属于一个用户,一个用户有很多 school_participants。
我最初尝试在 ActiveAdmin 过滤器中做这样的事情
filter :participant_schools_start_date, :label => "School Year", :as => :select, :collection => [['2010', '2010-08-15'], ['2011', '2013-08-15']]
只是想看看我们在表单中得到了什么,但我需要一种在选择字段中传递范围的方法,但显然,您一次只能传递一个值。该数组中的第一个元素 (2010) 显示在 UI 中,第二个元素 (2010-08-15) 作为值传递。
基本上我正在尝试在这些范围之间进行查询
**ON Selection in a drop down** **Query I want**
Aug 2010-Aug 2012 a query between 2010-08-15 to 2011-08-15
Aug 2011-Aug 2012 2011-08-15 to 2012-08-15
Aug 2012-Aug 2013 2012-08-15 to 2013-08-15
Aug 2013-Aug 2014 2013-08-15 to 2014-08-15
Aug 2014-Aug 2015 2014-08-15 to 2015-08-15
Aug 2015-Aug 2016 2015-08-15 to 2016-08-15
我尝试使用我找到的一些资源来玩 procs 和 lambdas
http://nikhgupta.com/code/activeadmin/custom-filters-using-ransacker-in-activeadmin-interfaces
和
http://cavewall.jaguardesignstudio.com/2014/05/01/activeadmin-filters-with-ransack/
有什么想法吗?不知道如何使它工作。
【问题讨论】:
标签: ruby-on-rails ruby activeadmin