2011-04-04 77 views
1

我已經使用rails 1.2.1版本。通常,我在所有項目中都使用表單標籤作爲以下樣式。 <%form ..和<%=表格之間的區別

 
<% form_tag({:action => 'xxx'} etc...) do %> 
.. 
<% end %> 

但是,當我看到以下教程網站http://guides.rubyonrails.org/form_helpers.html時,他們引導了表單標籤,如下所示。

 

<%= form_tag(search_path, :method => "get") do %> 
.. 
<% end %> 

所以,我只是嘗試使用它。但是,它顯示了錯誤。爲什麼他們在表單標籤中使用符號「=」?錯誤的原因是什麼?

標籤的用途是什麼? (<%= ...和<%...)

回答

6

erb標記<%= expr %>expr的值嵌入生成的HTML中,而<% expr %>僅針對其副作用評估expr

自從Rails 3以來,form_tag的語義已經發生了變化。您需要繼續使用<% form_tag %>以支持3.0之前版本的rails。

2

如果你想呈現在瀏覽器端的東西,那麼你必須使用 '<%=',否則 '<%' 如果使用<%=的form_tag那麼它會向瀏覽器呈現html表單。

相關問題