rails 2.Xはバックスラッシュ(\)を2つのバックスラッシュ(\\)、if:条件は文字列です。これは、ハッシュ値が2つの場合にのみ、2つのバックスラッシュで置き換えられます。以下:ActiveRecord findオプションwith条件:バックスラッシュを二重バックスラッシュで置き換える方法\ if:条件がハッシュではなく文字列である
Parameter.find(:first, :conditions =>{ :key1 => var.to_s })
私の場合、条件はハッシュではなく文字列です。 gsub-functionを使用したくない場合、 "\\"を正しい方法で自動的に "\\"に置き換える方法は?
私の問題は、my:conditionsがバックスラッシュを含む非常に長い文字列であることです。そして異なる理由のために(オプションを含む...)。私はそれのためのハッシュを使用することはできません。次のfind-thingは "\"を自動的に "\\"に置き換えません。
var = "test\test"
Parameter.find(:first, :conditions => ' key1 = \'' + var.to_s + '\'' )
ご迷惑をおかけいたしますが、ありがとうございます。
Thanx、それは私の問題を解決する! – wabbiti
Rails 3以降を使用している場合は、http://guides.rubyonrails.org/active_record_querying.html#array-conditionsが正しいリンクです。 –
@ Vijay:ありがとう、私はまだ仕事場で2.3に固執しているので、私は古い文書にリンクしていることに気付かなかった。 – cam