Hi, I''m trying to use a partial in my form (Rails 2.3.4), and the docs I see say I can do this: edit.html.erb: <% form_for(@course) do |f| %> <%= render :partial => f %> <p><%= f.submit "Update" %></p> <% end %> _form.html.erb: <p>Title: <%= f.text_field :title %></p> But when I go to the edit page I get an error: undefined local variable or method `f'' for #<ActionView::Base:0x465873c> If I change the render line to be: <%= render :partial => "form", :locals => {:f => f} %> it works, but the latest updates say I don''t need to do that. Am I missing something? Thanks. -- Posted via http://www.ruby-forum.com/.
John T. wrote:> Hi, > > I''m trying to use a partial in my form (Rails 2.3.4), and the docs I see > say I can do this: > > edit.html.erb: > <% form_for(@course) do |f| %> > <%= render :partial => f %> > <p><%= f.submit "Update" %></p> > <% end %> > > _form.html.erb: > <p>Title: <%= f.text_field :title %></p> >Well, slight update. I found that if I change my form partial to be: <%= form.text_field :title %> it works. I can live with that. But.. reading the updates to rails and forms and partials, it says you can shortcut it more by doing: <%= render @course %> I found that Rails will look for the partial named: _course.html.erb. Ok, I copied my form partial, but it doesn''t like any of my ''form helper'' variables - f.text_field, form.text_field, or course.text_field. Is this possible? thanks again -- Posted via http://www.ruby-forum.com/.
On Sep 15, 4:30 pm, "John T." <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> John T. wrote: > > > edit.html.erb: > > <% form_for(@course) do |f| %> > > <%= render :partial => f %> > > <p><%= f.submit "Update" %></p> > > <% end %> > > > _form.html.erb: > > <p>Title: <%= f.text_field :title %></p> > > Well, slight update. I found that if I change my form partial to be: > > <%= form.text_field :title %> > > it works. I can live with that. >Correct. The magical partial variable has the same name as the partial itself> But.. reading the updates to rails and forms and partials, it says you > can shortcut it more by doing: > <%= render @course %> > > I found that Rails will look for the partial named: _course.html.erb. > Ok, I copied my form partial, but it doesn''t like any of my ''form > helper'' variables - f.text_field, form.text_field, or course.text_field. > Is this possible?You would need to pass (via locals etc.) the form builder object. Fred> > thanks again > > -- > Posted viahttp://www.ruby-forum.com/.