这是视图中的代码。
<% form_tag({:controller => 'users',
:action => 'test'}) do %>
<%= text_field_tag(:search_options, params[:search_options])%>
<%= submit_tag("Display text!")%>
<% end -%>
我有一个文件test.html.erb,还添加了get"users/test"到routes.rb,但我仍然得到错误:没有路由匹配"/users/test"
form_tag
方法创建一个默认情况下使用HTTPPOST发送的表单。您声明在routes.rb
中定义的路由是GET。所以你有两个选项来解决这个问题:
- 将路线更改为
POST "users/test"
- 将您的
form_tag
呼叫更改为:form_tag({:controller => 'users', :action => 'test'}, :method => :get)