2010-08-31 2 views
1
«общие/подписка»%>

Для вызова этого частичного вида:Ruby on Rails - Как передать параметр хеширования на частичный просмотр?

<% form_for(:subscription, :url => city_subscriptions_path(@city)) do |form| %> 
    <%= form.hidden_field :city_id, :value => @city.id %> 
    <%= form.text_field :email, :size => 30 %> 
    <%= form.submit "Email Me" %> 
<% end %> 

Поскольку я использую этот частичный вид на разных местах, как я изменить вызывающий так будет передавать хэш для form_for помощник? Так было бы, как это, когда помощник называется:

<% form_for(:subscription, :url => city_subscriptions_path(@city), :html => {:id => 'main_input' }) do |form| %> 
    <%= form.hidden_field :city_id, :value => @city.id %> 
    <%= form.text_field :email, :size => 30 %> 
    <%= form.submit "Email Me" %> 
<% end %> 

ответ

6
<%= render :partial => "shared/subscription", :locals => {:foo => "bar", :foofoo => ["bar", "bar"]} 

В вашем частичный вид, используйте их:

<%= foo #this outputs "bar" %> 
<%= foofoo.to_s %> 
+0

'@ Foo' или просто' Foo'? Я полагаю, что это просто 'foo'. –

+0

Вы правы, я его отредактирую, D – PeterWong

+0

Спасибо, но я попытался извлечь переменную с помощью '<% form_for (: subscription,: url => city_subscriptions_path (@city),: html => {: id => @form_id}) do | form | %> ' но не работает. – Khairul

Смежные вопросы