2014-04-18 36 views
0

這是我_search_box.html.erb文件爲什麼我會得到錯誤的參數數目(1 2)的form_tag

<%= form_tag "/search", :method => "get" do %> 
    <%= text_field :q %> 
    <%= submit_tag 'Search' %> 
<% end %> 

這是在search.html.erb呈現:

'search_box' %>
<% if @products %> 
    <%= render(:partial => "products") %> 
<% end %> 

但是,我在_search_box.html.erb第2行發生錯誤:

Showing /****/app/views/catalog/_search_box.html.erb where line #2 raised: 

wrong number of arguments (1 for 2) 

Extracted source (around line #2): 

1: <%= form_tag "/search", :method => "get" do %> 
2: <%= text_field :q %> 
3: <%= submit_tag 'Search' %> 
4: <% end %> 

Waht錯了嗎?

回答

3

這不是form_tag這是給你的錯誤,它是text_fieldtext_field設計用於form_for而不是form_tag

我想你的意思是使用text_field_tag來代替。

text_field(對象,方法,選項= {})

返回分配給模板的對象上訪問指定的屬性(由方法鑑定)定製「文本」類型的輸入標籤(由對象識別)。輸入標籤上的其他選項可以作爲包含選項的散列來傳遞。這些選項將作爲HTML元素屬性標記到HTML中,如示例所示。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

text_field_tag(名稱,值=零,選項= {})

創建一個標準文本字段;使用這些文本字段輸入較小的文本塊,如用戶名或搜索查詢。

http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html

相關問題