簡體   English   中英

使用ActiveRecord查詢界面在Rails 4中進行過濾搜索

[英]Filtered Search in Rails 4 using ActiveRecord Querying Interface

執行搜索時,我有一些過濾器。 我有另一個要嘗試實現的搜索過濾器,但似乎無法使其正常工作。 我在first_name last_name上遇到了問題,並為此建立了視圖。

控制器:

if params[:address_search]
   @payment_requests = @payment_requests.where('full_address ILIKE ?', "%#{params[:address_search]}%")

   unless params[:unit_search].blank?
      @payment_requests = @payment_requests.where('unit ILIKE ?', "%#{params[:unit_search]}%")
   end
elsif params[:client_search]
   @payment_requests = @payment_requests.where('email ILIKE ?', "%#{params[:client_search]}%")
elsif params[:first_name] || params[:last_name]
   @payment_requests = PaymentRequest.includes(:detail).where(payment_details: { first_name: params[:first_name], last_name: params[:last_name]})
   end
else
   @payment_requests = @payment_requests.active
end

觀看次數:

<div class="form-group">
   <%= text_field_tag 'client_search', '', id: 'pay-client-search', placeholder: 'Email Search', class: 'general-text-area pay-filter' %>
</div>

你可以試試這個

key = "%#{search_text}%"

@payment_requests = PaymentRequest.joins(:detail).where('payment_details.first_name LIKE :search OR payment_details.last_name LIKE :search', search: key)

PS:沒有嘗試過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM