11175
(-- --)
April 1, 2008, 9:06am
1
Hi to all,
i'm trying to pass the id of my record within the multipart form.
I've tried to pass it like this but it gives a compile error....
<%= form_tag( { :action => 'create', :id => @nominee }, :multipart =>
true ) do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Edit' %>
<% end %>
<%= link_to 'Show', :action => 'show', :id => @nominee %> |
<%= link_to 'Back', :action => 'list' %>
Can anybody help me???
Thanks i advance
Andrea
Kyle3
(Kyle)
April 1, 2008, 3:30pm
2
You typically won't pass an id to a create action. I'm doing this
with an update action using the same syntax that you have, and it
works fine. If it matters, I don't have an equal sign next to my
form_tag (i.e., <% form_tag..., not <%= form_tag...).
Do you want to set the id of the record that you're creating (not
recommended), or are you trying to pass a value to the record like
nominee_id = 12?
If you're still having problems, please paste the error.
-Kyle
11175
(-- --)
April 3, 2008, 7:23am
3
Hi Kyle,
sorry i want to pass it to the update function not the create, but i
still have this error:
compile error
script/../config/../app/views/nominees/edit.rhtml:4: syntax error,
unexpected ')'
_erbout.concat(( form_tag( { :action => 'update', :id => @nominee },
:multipart => true ) do ).to_s)
Code
<%= form_tag( { :action => 'update', :id => @nominee }, :multipart =>
true ) do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Edit' %>
<% end %>
thanks for your help!!
You'll need
<%= form_tag( { :action => 'update', :id => @nominee }, {:multipart =>
true} ) do -%>
While Ruby will attempt to do "THE RIGHT THING", you'll find that if
you specify the hash curly-braces on the first hash, you'll also need
to specify them on the second hash.
Julian.
Learn Ruby on Rails! CHECK OUT THE FREE VIDS (LIMITED TIME) NEW VIDEO
(#2 ) OUT NOW!
http://sensei.zenunit.com/
11175
(-- --)
April 3, 2008, 7:50am
5
While Ruby will attempt to do "THE RIGHT THING", you'll find that if
you specify the hash curly-braces on the first hash, you'll also need
to specify them on the second hash.
Hi Julian,
i still have an error, the code is:
<h1>Editing nominee</h1>
<%= form_tag( { :action => 'update', :id => @nominee }, {:multipart =>
true} do) -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Edit' %>
<% end %>
and the compile error:
compile error
script/../config/../app/views/nominees/edit.rhtml:4: syntax error,
unexpected kDO, expecting ')'
_erbout.concat(( form_tag( { :action => 'update', :id => @nominee },
{:multipart => true} do) ).to_s)
^
script/../config/../app/views/nominees/edit.rhtml:5: syntax error,
unexpected tIDENTIFIER, expecting ')'
_erbout.concat " "; _erbout.concat(( render :partial => 'form' ).to_s);
_erbout.concat "\n"
^
script/../config/../app/views/nominees/edit.rhtml:12: syntax error,
unexpected kEND, expecting $end
what could it be?
do has to come after the close parenthesis... do reprsents the start
of a block, and comes after the other arguments, which go inside the
parenthesis.
<%= form_tag( { :action => 'update', :id => @nominee }, {:multipart =>
true}) do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Edit' %>
<% end %>
11175
(-- --)
April 3, 2008, 8:03am
7
Julian it doesn't work even like this....
<%= form_tag( { :action => 'update', :id => @nominee }, {:multipart =>
true}) do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Edit' %>
<% end %>
the compile error:
compile error
script/../config/../app/views/nominees/edit.rhtml:4: syntax error,
unexpected ')'
_erbout.concat(( form_tag( { :action => 'update', :id => @nominee },
{:multipart => true}) do ).to_s)
^
script/../config/../app/views/nominees/edit.rhtml:14: syntax error,
unexpected kEND, expecting ')'
??
Really thanks for your help!
You shouldn't use <%= %> when you're using the block form.
Julian.
Learn Ruby on Rails! CHECK OUT THE FREE VIDS (LIMITED TIME) NEW VIDEO
(#2 ) OUT NOW!
http://sensei.zenunit.com/