我正在尝试使用form_for来实现一个与我创建的无表格搜索模型一起使用的搜索表单。搜索表单会一直触发“索引”操作。我假设我应该使用'new'来创建表单并“创建”搜索查询的过程。看着日志,我的POST变成了GET。这是我的代码:
/searches/new.html.erb:
<% form_for :searches, @search, :url => searches_path, :html => {:method => :post} do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :keywords %><br />
<%= f.text_field :keywords %>
</p>
<p><%= f.submit "Submit" %></p>
<% end %>
使用form_for触发“创建”操作的标准方法是什么?
答案 0 :(得分:1)
您使用的是RESTful map.resources :searches
吗?
如果是这样,您的:url
不应该设置为new_search_path
吗?
答案 1 :(得分:1)
form_for
用于模型。对于一个简单的搜索表单,我建议做这样的事情:
<% form_tag posts_path, :method => :get do |f| %>
<%= f.text_field :query %>
<% end %>
你会得到/posts?query=wtf
。