ROR Form_for强制创建行动

时间:2013-09-03 18:44:36

标签: html ruby-on-rails ruby

我有一个搜索模型,用于创建由create操作存储在数据库中的搜索,然后重定向到@search,其中结果与搜索参数一起显示。

我希望能够从此视图(url searching /:id)发布新搜索以创建搜索:id + 1,以便用户可以优化其搜索参数。

我希望能够在目前看起来像这样使用相同的form_for:

<%= form_for(@search, :html => { :class => "form-horizontal" }) do |f| %>

并呈现如下:

<form accept-charset="UTF-8" action="/searches" class="form-horizontal" id="new_search" method="post">

创建新搜索,但在节目视图中显示:

<form accept-charset="UTF-8" action="/search?id=9" class="form-horizontal" id="edit_search_9" method="post">

如何更新它以强制它在所有页面上呈现第一种方式?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以通过将表单标记id传递给html哈希来执行此操作,并覆盖默认网址以匹配所需的操作。这是一个例子,假设你有一个名为'searching'的路线匹配'/ searching'

<%= form_for(@search, :url => searches_path, :html => { :class => "form-horizontal", :id => 'new_search' }) do |f| %>

要在Rails中创建路由,请在config / routes.rb文件中创建此条目:

resources :searches