RESTful方式使用form_for?

时间:2009-04-24 23:52:12

标签: ruby-on-rails forms rest form-for

我正在尝试使用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触发“创建”操作的标准方法是什么?

2 个答案:

答案 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