Hi all:
I have a form and I want to use the same code for "new" and
"edit"
methods rendering the view code in a partial.
This view code is working for the "new" method but do not for the
"edit", cause of the name of the form object.
Code for the New View
<%= render :partial => "order_form" %>
<%= link_to ''Back'', order_path %>
Code for the Edit View (same as new...)
<%= render :partial => "order_form" %>
<%= link_to ''Back'', order_path %>
Code for the partial View "_order_form"
<% form_for(@order) do |f| %>
<%= observe_field ''order_field1'', :url => {:action
=>
''calculate''}, :with =>
"Form.serialize(''new_order'')" %>
<% end %>
The observe field only works for the "new" because the
"hardcoding"
parameter name of the form.
For new object the name of the form is "new_order", for editing is
"edit_order_19" (19 is an ID for the "order" object)
The name of the form is depending of the object the view is editing
and I need the name for the Observe_field work properly in all
records.
How can I pass the name of the form as a variable to the controller ?
Thanks
FF
FF wrote: [...]> For new object the name of the form is "new_order", for editing is > "edit_order_19" (19 is an ID for the "order" object) > The name of the form is depending of the object the view is editing > and I need the name for the Observe_field work properly in all > records. > How can I pass the name of the form as a variable to the controller ?You don''t need to. Pass it in :locals when you render the partial.> > Thanks > FFBest, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.
I need all the form values for the field in the observe_form call. ...
.. Form.serialize(''new_order'')...
because the controller must to do some calcs and refresh the form with
the results
Can you explain how I shoud to use :locals variable ?
Thanks,
FF
On 28 sep, 19:44, Marnen Laibow-Koser <rails-mailing-l...@andreas-
s.net> wrote:> FF wrote:
>
> [...]
>
> > For new object the name of the form is "new_order", for
editing is
> > "edit_order_19" (19 is an ID for the "order"
object)
> > The name of the form is depending of the object the view is editing
> > and I need the name for the Observe_field work properly in all
> > records.
> > How can I pass the name of the form as a variable to the controller ?
>
> You don''t need to. Pass it in :locals when you render the
partial.
>
>
>
> > Thanks
> > FF
>
> Best,
> --
> Marnen Laibow-Koserhttp://www.marnen.org
> mar...-sbuyVjPbboAdnm+yROfE0A@public.gmane.org
> --
> Posted viahttp://www.ruby-forum.com/.
FF wrote:> I need all the form values for the field in the observe_form call. ... > .. Form.serialize(''new_order'')... > because the controller must to do some calcs and refresh the form with > the results > > Can you explain how I shoud to use :locals variable ?Easy. Just put Form.serialized(object_name) in the partial instead of hard-coding. Then you can do :locals => {:object_name => ''edit_order_19''} or whatever. Remember, it''s just a string.> Thanks, > FF > > > On 28 sep, 19:44, Marnen Laibow-Koser <rails-mailing-l...@andreas-Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.