-1

我正在尝试这样做:

query << ["AND f.name LIKE '%:last_name%' ", :last_name => params[:last_name] ]

但是得到一个错误。肯定语法不正确。有谁知道该怎么做?

4

3 回答 3

1

这是一个数组还是一个哈希?第一项看起来像一个数组,第二个像一个哈希。没有上下文就很难说。你可以先试试这个:

["AND f.name LIKE '%:last_name%' ", {:last_name => params[:last_name]} ]
于 2013-03-12T13:22:41.090 回答
1

如果查询是一个数组,您可能想要传递一个字符串,这样您就不会得到一个数组数组,您可以这样做:

导轨 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}%' "
于 2013-03-12T14:16:43.300 回答
0

由于您没有使用 rails 3,因此您应该使用scoped链接查询

records = Record.scoped(:conditions => { :active => true })
records = records.scoped(:conditions => ["records.name LIKE '%:last_name%' ", { :last_name => params[:last_name] }])

所以你不必构建这样的查询。

于 2013-03-12T13:27:09.407 回答