在rails上搜索功能

时间:2014-05-10 16:41:15

标签: ruby-on-rails ruby

我的网页应用中有一个页面,用户可以输入代码或客户名称。从那里,如果他们输入代码,它将从具有该ID代码的表中提取所有数据。如果他们输入一个名称,它会提取该名称的所有条目和相关的ID(显然他们不知道ID。以下是我的表单助手,它会显示一个新的html页面。我被困在控制器信息上去了它。

<%= form_tag("searchshow", method: "get") do %>   
<%= label_tag(:q, "Company Name:", :class=>'s') %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %><br><br>
<%= label_tag(:q, "ID No:", :class=>'s') %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>

1 个答案:

答案 0 :(得分:0)

我会为文本字段设置2个不同的名称:

<%= form_tag("searchshow", method: "get") do %>   
  <%= label_tag(:name, "Company Name:", :class=>'s') %>
  <%= text_field_tag(:name) %>
  <%= submit_tag("Search") %>
  <br><br>
  <%= label_tag(:id, "ID No:", :class=>'s') %>
  <%= text_field_tag(:id) %>
  <%= submit_tag("Search") %>
<% end %>

在控制器中,检查用户使用了哪个文本字段。例如:

def get 
  if params[:id].present?
    # you get the user with: User.find(params[:id])
    # throws an error if the user is not found
  elsif  
    # you get the list of possible users with: User.where(code: params[:name]) 
    # returns an empty list if no user matches the name
  end
end  

如果您使用Rails 4和StrongParameters,代码可能会略有不同