2020年3月26日 星期四

Rails tag搜尋功能gem ransack


  1. http://waynechu.logdown.com/posts/199820-rails-gem-ransack
類似按鈕tag的搜尋功能,有進資料庫。

Ransack功能

安裝ransack gem

ctrlp>gem
gem 'ransack'
$bundle install

在controller中使用

      @clean_content = @loan.content.gsub(/\\|\'|\/|\?/, "")  =>要消毒避免sql injection
      @qs = Loan.ransack(content_cont: @clean_content).result =>要加上result,才會是搜尋結果,
不然會有錯誤
      或是不要用ransack而是使用where
      @qs = Loan.where("content LIKE ?","%#{@clean_content}%")=>字串內插的方法
      或是....
      @qs = Loan.where("content LIKE ?","%#{@loan[:content]}%")=>hash的方法symbl

在View中調用

<%@qs.each do |loan|%>
  <li><%=link_to loan.content,loan_path(loan)%></li>
<%end%>

沒有留言:

張貼留言

cloud9上面開發rails

 使用IAM身分登入,以免有資安問題。(用admin帳號登入,創建iam使用者,然後在上面的連結登入) 選擇 ubuntu18.04 減少查詢成本。 已經是超級使用者了,sudo 什麼都不需要輸入密碼了。 $ ruby -v  檢查 ruby使用的版本>>2.6.3,...