我遇到的问题是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。
答案 0 :(得分:1)
使用数组条件:
Parameter.first :conditions => ["key1 = ?", var]
有关详细信息,请参阅http://guides.rubyonrails.org/active_record_querying.html#array-conditions。