看板 Ruby 關於我們 聯絡資訊
環境: 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)
godfat:這樣寫好危險,會有 SQL injection... 01/17 16:48
yongtw123:=口=~~~ 就...先不管安全性問題吧... 01/18 01:14
godfat:那你直接去看 SQL 的 % 怎麼用就可以了 01/18 14:36