-1

私はこれをやろうとしています:

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

しかし、エラーが発生します。確かに構文は間違っています。誰もそれを行う方法を知っていますか?

4

3 に答える 3

1

これは配列ですか、それともハッシュですか? 最初の項目は配列のように見え、2 番目の項目はハッシュのように見えます。何らかの文脈がなければ、それを伝えるのは困難です。おそらくこれを試すことから始めることができます:

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

query が配列の場合、配列の配列になってしまわないように文字列を渡したい場合は、次のようにします。

レール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 に答える