0

我有以下搜索表单:

<%= form_tag edit_lot_path(:id), :class => "form-search", method: :get do %>
  <div class="input-append">
    <%= text_field_tag :id, nil, :placeholder => "Lot #", :class => "input-mini search-query" %>
    <%= button_tag(type: "submit", class: "btn") do %>
       <i class="icon-search"></i>
    <% end %>
  </div>
<% end %>

我想要做的是将搜索字段(路径的 ID)传递给用户,以便用户可以快速查找 ID。不幸的是我得到了错误Couldn't find Lot with id=id

请注意,这是使用 rails 4。

4

1 回答 1

1

对于搜索实施,理想情况下,您应该在您的批次控制器中有单独的操作,例如“搜索”。

在路线中

resources :lots do
  get :search, :on => :collection
end

在视图文件中

<%= form_tag search_lots_path, :class => "form-search", method: :get do %>
  <div class="input-append">
    <%= text_field_tag :id, nil, :placeholder => "Lot #", :class => "input-mini search-query" %>
    <%= button_tag(type: "submit", class: "btn") do %>
       <i class="icon-search"></i>
    <% end %>
  </div>
<% end %>

在批次控制器中

def search
 my_search_string = params['id']
 // YOUR CODE GOES HERE
end
于 2013-09-24T10:16:58.593 回答