我的网页应用中有一个页面,用户可以输入代码或客户名称。从那里,如果他们输入代码,它将从具有该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") %>
答案 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,代码可能会略有不同