我正在為我的用戶表開發一個搜索功能,以便我可以查詢用戶並將其顯示在我的應用程序中。到目前為止,我已將其用於 first_name,但我不確定用於在同一查詢中搜索姓氏的語法。我的用戶控制器如下所示:
def search
if params[:search].blank?
redirect_to users_path and return
else
@parameter = params[:search].downcase
@results = User.all.where("lower(first_name) LIKE :search", search: "%#{@parameter}%")
end
end
輸出:
User Load (0.9ms) SELECT "users".* FROM "users" WHERE (lower(first_name) LIKE '%laura%')
我的搜索表單如下所示:
<div class="input-group">
<%= search_field_tag :search, params[:search], placeholder: "Type ", class: "form-control" %>
<div class="input-group-btn">
<%= button_tag "Search User", class: "btn btn-info", :name => nil %>
</div>
</div>
<% end %>
我的結果頁面:
<% @results.each do |result| %>
<tbody>
<tr>
<td><%= link_to result.full_name, user_path(result) %></td>
<td><%= result.email %></td>
<td><% if result.subscribed? %>
<span class="badge rounded-pill bg-success">Subscribed</span>
<% else %>
<span class="badge rounded-pill bg-danger">Not Subscribed</span>
<% end %>
這很完美,但是我希望能夠輸入 last_name 並顯示這些結果。我知道我很接近,但我嘗試過的一些事情沒有奏效。
謝謝!
你有沒有嘗試改變
@results = User.all.where("lower(first_name) LIKE :search", search: "%#{@parameter}%")
進入
@results = User.all.where("lower(first_name) LIKE :search or lower(last_name) LIKE :search", search: "%#{@parameter}%")
請執行並更新...
電阻
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句