我正在尝试这样做:
query << ["AND f.name LIKE '%:last_name%' ", :last_name => params[:last_name] ]
但是得到一个错误。肯定语法不正确。有谁知道该怎么做?
我正在尝试这样做:
query << ["AND f.name LIKE '%:last_name%' ", :last_name => params[:last_name] ]
但是得到一个错误。肯定语法不正确。有谁知道该怎么做?
这是一个数组还是一个哈希?第一项看起来像一个数组,第二个像一个哈希。没有上下文就很难说。你可以先试试这个:
["AND f.name LIKE '%:last_name%' ", {:last_name => params[:last_name]} ]
如果查询是一个数组,您可能想要传递一个字符串,这样您就不会得到一个数组数组,您可以这样做:
导轨 3
query << "AND f.name LIKE '%#{params[:last_name]}%' "
导轨 2
last_name = ActionController::Base.helpers.sanitize(params[:last_name])
query << "AND f.name LIKE '%#{last_name}%' "
由于您没有使用 rails 3,因此您应该使用scoped
链接查询
records = Record.scoped(:conditions => { :active => true })
records = records.scoped(:conditions => ["records.name LIKE '%:last_name%' ", { :last_name => params[:last_name] }])
所以你不必构建这样的查询。