这是我的_search_box.html.erb
档案
<%= form_tag "/search", :method => "get" do %>
<%= text_field :q %>
<%= submit_tag 'Search' %>
<% end %>
呈现在search.html.erb
:
<% 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 %>
错了吗?
不是form_tag
给您错误,而是给您text_field
。text_field
被设计为在内部使用form_for
,而不是form_tag
。
我认为您的意思是使用text_field_tag
。
text_field(object_name,method,options = {})
返回“文本”类型的输入标签,该标签专门用于访问分配给模板(由对象标识)的对象上的指定属性(由方法标识)。输入标签上的其他选项可以作为带有选项的哈希值传递。这些选项将作为HTML元素属性标记在HTML上,如示例所示。
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html
text_field_tag(名称,值=无,选项= {})
创建一个标准文本字段;使用这些文本字段输入较小的文本块,例如用户名或搜索查询。
http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句