ActiveRecord查找选项:条件:如何用双反斜杠替换反斜杠\ \ if:conditions是一个字符串而不是一个哈希

时间:2011-09-12 15:21:16

标签: ruby-on-rails activerecord conditional-statements backslash

我遇到的问题是rails 2.X不会用两个反斜杠(\\)替换反斜杠(\),如果:conditions是一个字符串。它只用两个反斜杠替换它,当你有一个哈希:条件,例如以下内容:

Parameter.find(:first, :conditions =>{ :key1 => var.to_s })

但在我的情况下:条件不是哈希,而是字符串。如果我不想使用gsub-function,它如何以“\\”自动替换“\”?

我的问题是,我的:条件是一个非常长的字符串,其中包含反斜杠。并且由于不同的原因(包括选项,...)。我不能使用哈希。以下find-thing不会自动用“\\”替换“\”。

var =  "test\test"

Parameter.find(:first, :conditions => ' key1 = \'' + var.to_s + '\''  )

我会感谢任何有用的提示,thanx。

1 个答案:

答案 0 :(得分:1)

使用数组条件:

Parameter.first :conditions => ["key1 = ?", var]

有关详细信息,请参阅http://guides.rubyonrails.org/active_record_querying.html#array-conditions