1

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

我希望能够从此视图(url 搜索/: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">

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

非常感谢!

4

1 回答 1

0

您可以通过将表单标签 id 传递给 html 哈希来执行此操作,并覆盖默认 url 以匹配所需的操作。这是一个示例,假设您有一个名为 'searches' 的路由匹配 '/searches'

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

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

resources :searches
于 2013-09-03T18:58:54.360 回答