作者yongtw123 (六円)
看板Ruby
标题[问题] hash里面放wildcard
时间Sun Jan 16 20:05:12 2011
环境:
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)
1F:推 godfat:这样写好危险,会有 SQL injection... 01/17 16:48
2F:→ yongtw123:=口=~~~ 就...先不管安全性问题吧... 01/18 01:14
3F:→ godfat:那你直接去看 SQL 的 % 怎麽用就可以了 01/18 14:36