【发布时间】:2014-06-23 16:14:49
【问题描述】:
在 ActiveAdmin 中,我有一些方法可以衡量用户正在使用哪些功能。这些方法特定于 ActiveAdmin,不会在应用程序中使用。例如,该方法可以告诉我们从 2013 年 7 月 5 日到 2013 年 9 月 15 日期间在所有公司中创建了多少 daily_reports。该方法将数据作为哈希返回。
在 ActiveAdmin 界面中,我需要一个表单。在此表单中,我将指定查询的时间范围、“创建或更新”选项以及要跟踪的特定数据类型。我希望表单看起来像这样:
ActiveAdmin.register_page "Metrics" do
form do |f|
# radio buttons for yearly, monthly...etc. calls metrics_histogram_by_relative
# one option is 'range'. When selected, it calls metrics_histogram_by_range
# renders a small range text box
# radio buttons for created or updated
# check boxes for data types
# check boxes for companies, default: all
# f.submit
end
range 方法的头部如下所示:
def metrics_histogram_by_range(start_day, end_day, updated_or_created,
data_types=[:itbs, :projects, :daily_report_entries, :schedules]),
companies = Company.find_each)
相对时间方法头如下:
def metrics_histogram_by_relative(time_span, updated_or_created,
data_types=[:itbs, :projects, :daily_report_entries, :schedules],
companies = Company.find_each))
其中 'time_span' 将是一个字符串,'yearly'、'monthly'、'weekly' 或 'daily'。
我不知道如何连接表单,以便输入将其数据提交给这些方法,并获得响应。如果选择了范围单选按钮,则表单需要提交到 metrics_histogram_by_range。否则它将提交给metrics_histogram_by_relative。有没有办法做到这一点,还是我需要结合这些方法?
【问题讨论】:
标签: ruby-on-rails forms activeadmin