2009-07-27 9 views
0

Ich habe eine partielle, die ich mit einer Sammlung und einer anderen Variable gerendert werden soll. Ist es möglich, mehr als eine Variable an eine partielle zu übergeben?Multivariable teilweise in Ruby on Rails

Zur Veranschaulichung:

Kategorie HABTM Marken

Das nur halb Pseudo-Code ist, aber ich will, wie etwas zu tun ist:

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

Das Teil Bedürfnisse als auch die Kategorie-ID als "current_brand". Irgendwelche Ideen?

Antwort

3

Innerhalb Ihrer Ansicht übergeben Sie einen Hash an das Schlüssel/Wert-Paar :locals im Optionen-Hash-Argument.

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

... und diese Schlüssel werden als Variablen in Ihren Teiltönen verfügbar.

Foo is: <%= foo %> 

Bar is: <%= bar %> 
2

Sie können eine partielle Anzahl von Variablen mit der Option :locals angeben. Es benötigt einen Hash der Variablennamen und -werte.