私はこれをやろうとしています:
query << ["AND f.name LIKE '%:last_name%' ", :last_name => params[:last_name] ]
しかし、エラーが発生します。確かに構文は間違っています。誰もそれを行う方法を知っていますか?
私はこれをやろうとしています:
query << ["AND f.name LIKE '%:last_name%' ", :last_name => params[:last_name] ]
しかし、エラーが発生します。確かに構文は間違っています。誰もそれを行う方法を知っていますか?
これは配列ですか、それともハッシュですか? 最初の項目は配列のように見え、2 番目の項目はハッシュのように見えます。何らかの文脈がなければ、それを伝えるのは困難です。おそらくこれを試すことから始めることができます:
["AND f.name LIKE '%:last_name%' ", {:last_name => params[:last_name]} ]
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}%' "
Rails 3を使用していないため、scoped
クエリをチェーンするために使用する必要があります
records = Record.scoped(:conditions => { :active => true })
records = records.scoped(:conditions => ["records.name LIKE '%:last_name%' ", { :last_name => params[:last_name] }])
そのため、そのようなクエリを作成する必要はありません。