Question

I have a partial that I want rendered with a collection and another variable. Is it possible to pass more than one variable to a partial?

To illustrate:

Category HABTM Brands

This is just semi-pseudo-code, but I want to do something like:

<% @categories.each do |c| %>
    <%= c.name %>
    <%= render :partial => "mypartial", :collection => c.brands, :object => c.id %>
<% end %>

The partial needs the category id as well as the "current_brand". Any ideas?

Was it helpful?

Solution

Inside of your view, you pass a hash to the :locals key-value pair in the options hash argument.

<%= render :partial => 'partial', :locals => { :foo => 'a', :bar => 'b' } %>

... and these keys become available as variables in your partials.

Foo is: <%= foo %>

Bar is: <%= bar %>

OTHER TIPS

You can give a partial any number of variables with the :locals option. It takes a hash of variable names and values.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top