[問題] hash裡面放wildcard

看板Ruby作者 (六円)時間14年前 (2011/01/16 20:05), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
環境: Ruby 1.8.7 Rails 3.0.3 SQLite3-ruby 1.3.2 狀況: 我現在有四個變數由view那邊使用者輸入 使用者可以選擇不輸入 於是在controller裡面要利用這四個變數進行搜尋 但是因為有些變數可能是空的 代表"不對此變數搜尋" (或著該變數是"任意值") findconditions = {} findconditions[:student_id] = params[:student_id] unless params[:student_id].blank? findconditions[:name] = params[:name] unless params[:name].blank? findconditions[:nickname] = params[:nickname] unless params[:nickname].blank? findconditions[:department] = params[:department] unless params[:department].blank? @result = Member.find(:all, :conditions => findconditions) 以上可以正確搜尋 但我要針對"name"進行模糊搜尋該如何處理? 假設name的值是"random" 那要怎麼搜尋到所有有包含"random"字串的資料? 我在猜或許是要用到wildcard % 但是不確定要怎麼加 附錄: code是以 http://tinyurl.com/46pkdtv 情況為範例 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.160.55 ※ 編輯: yongtw123 來自: 220.135.160.55 (01/16 20:06)

01/17 16:48, , 1F
這樣寫好危險,會有 SQL injection...
01/17 16:48, 1F

01/18 01:14, , 2F
=口=~~~ 就...先不管安全性問題吧...
01/18 01:14, 2F

01/18 14:36, , 3F
那你直接去看 SQL 的 % 怎麼用就可以了
01/18 14:36, 3F
文章代碼(AID): #1DCjxwxQ (Ruby)
文章代碼(AID): #1DCjxwxQ (Ruby)