2010-08-31 79 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'。 – 2010-08-31 04:06:57

+0

你是对的,我会编辑它; D – PeterWong 2010-08-31 05:22:18

+0

谢谢,但我试图使用 ' city_subscriptions_path(@city),:html => {:id => @form_id})do | form | %>' 但它不起作用。 – Khairul 2010-08-31 08:19:35

相关问题