I have a form which generates a report. The first issue I ran into was
trying to create a model to validate some of the entries without saving
them....that didnt'' work out too well, so I created a report table. I
figured uses could save reports for later viewing as a feature.
The form has two field names: report for fields pertaining to the
report and :check which are fields not being saved. The check fields
have names like: "use_agreed_to_participate" which let me know to use
the data in that field to filter by. Here''s a snippet:
<div class=''reportRow'' >
<div class=''reportLeftCell''>
Schedule Date
</div>
<div class=''reportCenterCell''
id=''reportScheduleSelects''>
From:
<%= datetime_select(''report'',
''schedule_date_to'') %><br /><br />
To:
<%= datetime_select(''report'',
''schedule_date_from'') %>
</div>
<div class=''reportRightCell''>
<%=
check_box(''check'',''use_schedule_date'',
:checked_value => "1",
:unchecked_value => "0") %>
</div>
</div>
Everything works perfect unless my Report object throws an error on
save which brings you back to the form page.
Error snippet:
Showing app/views/admin/_report_form.rhtml where line #31 raised:
undefined method `use_updated_on'' for
#<HashWithIndifferentAccess:0x3c3df2c>
Extracted source (around line #31):
28: <%= datetime_select(''report'',
''updated_on_to'') %>
29: </div>
30: <div class=''reportRightCell''>
31: <%=
check_box(''check'',''use_updated_on'',
:checked_value => "1",
:unchecked_value => "0") %>
32: </div>
33: </div>
34:
The trace:
/opt/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:333:in
`send''
/opt/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:333:in
`value''
/opt/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:281:in
`to_check_box_tag''
/opt/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_view/helpers/form_helper.rb:208:in
`check_box''
#{RAILS_ROOT}/app/views/admin/_report_form.rhtml:31:in
`_run_rhtml_admin__report_form''
#{RAILS_ROOT}/app/views/admin/report.rhtml:7:in
`_run_rhtml_admin_report''
#{RAILS_ROOT}/app/controllers/admin_controller.rb:39:in `new_report''
And finally, liine #39 in new_report:
35 @report = Report.new(@temp)
36 if @report.save
37 redirect_to :action => :show_report, :id => @report[:id]
38 else
39 render :action => ''report''
40 end
I know I''m probably missing something simple here and it has something
to do with use_updated_on (and friends) not having a model backend..but
is there an elegant way to fix this without hacking rails source or
some such?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---