0

我的问题是 rails 2.X 不会用两个反斜杠 (\\) 替换反斜杠 (\) ,如果 :conditions 是一个字符串。当您有 :conditions 的哈希时,它只会用两个反斜杠替换它,例如:

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

但在我的情况下 :conditions 不是一个哈希,而是一个字符串。如果我不想使用 gsub 函数,它如何以正确的方式用“\\”自动替换“\”?

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

var =  "test\test"

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

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

4

1 回答 1

1

使用数组条件:

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

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

于 2011-09-12T15:27:38.473 回答