我在视图中有以下代码:
<% form_tag(search_path) %>
<%= search_field_tag("search", nil, placeholder: "Book name") %>
<%= submit_tag ("Search") %>
以下路线:
search_path POST /search(.:format) searches#create
表单显示正确但当我点击提交时没有任何反应。服务器日志绝对没有显示。 Chrome Dev工具显示客户端没有任何反应。我认为我构建此表单的方式不正确。我想我需要添加一些内容来关联我拥有的不同标签,如果没有这个元素,所有这些表单元素都会被解除关联和碎片化。我在这里缺少什么?
答案 0 :(得分:1)
您需要将do
添加到form_tag
的末尾。这就是Rails如何关联表单的不同元素。
<%= form_tag(search_path) do %>
<%= search_field_tag("search", nil, placeholder: "Book name") %>
<%= submit_tag ("Search") %>
<% end %>
答案 1 :(得分:0)
“做结束”form_tag是一个很好的做法,但我想你唯一的问题是嵌入式Ruby语法中缺少=符号。