在轨道上搜索的能力



我有一个网页在我的web应用程序,其中用户可以输入代码或客户名称。从那里,如果他们输入代码,它将从具有该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") %>

我将为文本字段设置两个不同的名称:

<%= 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

,代码可能看起来有点不同