我有一個搜索表單,其中包含 2 種搜索記錄、姓名和電子郵件的方式。
<%= form_tag(clients_path, method: :get, class: "d-flex") do %>
<%= text_field_tag(:client_name, params[:client_name], placeholder: "Buscar por nombre", class: "form-control") %>
<%= text_field_tag(:client_email, params[:client_email], placeholder: "Buscar por email", class: "form-control") %>
<%= submit_tag ("Buscar"), class: "btn btn-primary" %>
<% end %>
在我的控制器中
if params[:client_name]
@clients = User.where(name: params[:name])
else
@clients = User.all
end
if params[:client_email]
@clients = User.where(email: params[:client_email])
else
@clients = User.all
end
這僅在搜索 1 個條件時有效。
如何使我的控制器代碼動態并檢查是否有任何條件,在我的@clients變數中顯示相應的結果?我不想讓我的控制器膨脹...
謝謝!
uj5u.com熱心網友回復:
我會將其更改為:
@clients = User.all
@clients = @clients.where(name: params[:name]) if params[:name]
@clients = @clients.where(email: params[:client_email]) if params[:client_email]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/525369.html
標籤:轨道上的红宝石红宝石
