I have:
<%= form_for(@supplier) do |f| %>
…
…
<%= render ‘sector_categories’, :locals => {:f => f} %>
in _sector_categories partial I have:
<% end %>
Why it says: undefined local variable or method “f”?
I have:
<%= form_for(@supplier) do |f| %>
…
…
<%= render ‘sector_categories’, :locals => {:f => f} %>
in _sector_categories partial I have:
Why it says: undefined local variable or method “f”?
Quoting M. [email protected]:
<% for category in @categories %> <%= f.check_box :category_ids[], category.id,
@supplier.categories.include?(category) %>
<%= category.name %>
<% end %>Why it says: undefined local variable or method “f”?
As written, you are rendering a template, not a partial. Passing local
variables to templates is not supported. Do you mean
<%= render :partial => ‘sector_categories’, :locals => {:f => f} %>
HTH,
Jeffrey
On 26 December 2010 00:35, Jeffrey L. Taylor [email protected]
wrote:
As written, you are rendering a template, not a partial. Passing local
variables to templates is not supported. Do you mean<%= render :partial => ‘sector_categories’, :locals => {:f => f} %>
But if I create a new application using scaffold I see a code like
this: <%= render ‘form’ %> and a file _form.html.rb.
So it is a partial but the render command doesn’t have :partial.
What’s correct?
On 26 December 2010 00:35, Jeffrey L. Taylor [email protected]
wrote:
As written, you are rendering a template, not a partial. Passing local
variables to templates is not supported. Do you mean<%= render :partial => ‘sector_categories’, :locals => {:f => f} %>
As you see in Layouts and Rendering in Rails — Ruby on Rails Guides
there is no need to specify :partial.
Quoting M. [email protected]:
As written, you are rendering a template, not a partial. Passing local
variables to templates is not supported. Do you mean<%= render :partial => ‘sector_categories’, :locals => {:f => f} %>
As you see in Layouts and Rendering in Rails — Ruby on Rails Guides
there is no need to specify :partial.
Look again. Every example on that page with :locals, explicitly
specifies
:partial.
Your way isn’t working. How about trying something different. The only
way
you will find out if the Rails 2 convention, locals only for partials,
is or
isn’t true in Rails 3 is trying it. You have shown that without
:partial and
possibly some other factor, locals don’t work. Change only one thing
and run
the experiment again.
Jeffrey
On 26 December 2010 05:20, Jeffrey L. Taylor [email protected]
wrote:
Why it says: undefined local variable or method “f”?
Look again. Every example on that page with :locals, explicitly specifies
:partial.Your way isn’t working. How about trying something different. The only way
you will find out if the Rails 2 convention, locals only for partials, is or
isn’t true in Rails 3 is trying it. You have shown that without :partial and
possibly some other factor, locals don’t work. Change only one thing and run
the experiment again.
You are right, so I’ve have notice that with rails 3 there is no need
to specify :partial unless I use local variables.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs