ruby on rails - Submitting ActiveAdmin form to non-ActiveRecord methods -



ruby on rails - Submitting ActiveAdmin form to non-ActiveRecord methods -

in activeadmin, have methods measure features users using. these methods specific activeadmin, , not used in app. method could, example, tell how many daily_reports have been created across companies july 5, 2013 september 15, 2013. method returns info hash.

in activeadmin interface, need form. in form, specify time range of query, 'created or updated' option, , specific info types track. i'd form this:

activeadmin.register_page "metrics" form |f| # radio buttons yearly, monthly...etc. calls metrics_histogram_by_relative # 1 alternative 'range'. when selected, calls metrics_histogram_by_range # renders little range text box # radio buttons created or updated # check boxes info types # check boxes companies, default: # f.submit end

the range method's header looks this:

def metrics_histogram_by_range(start_day, end_day, updated_or_created, data_types=[:itbs, :projects, :daily_report_entries, :schedules]), companies = company.find_each)

the relative time method header looks this:

def metrics_histogram_by_relative(time_span, updated_or_created, data_types=[:itbs, :projects, :daily_report_entries, :schedules], companies = company.find_each))

where 'time_span' string, 'yearly', 'monthly', 'weekly', or 'daily'.

i don't know how wire form inputs submit info these methods, , response. form need submit metrics_histogram_by_range if range radio button selected. otherwise submit metrics_histogram_by_relative. there way this, or need combine these methods?

you have override default activeadmin create method. insert similar code after form block:

controller def create if permitted_params[:metrics][:radios] == "radio_relative" # phone call metrics_histogram_by_relative(). can access form values in array: permitted_params[:metrics] else # phone call metrics_histogram_by_range() end # can changes in metrics using global variable. @metrics = metrics.new @metrics.companies = "all" # other attributes not changed here set filled form. create! |succes, failure| end end end

ruby-on-rails forms activeadmin

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -