所以我只想展示
Shop.all.to_sql
作为
=> "SELECT "shops".* FROM "shops""
但得到了
=> "SELECT \"shops\".* FROM \"shops\""
我尝试了gsub,但是rails忽略了&#39; <&#39;
Shop.all.to_sql.gsub('\', '')
我怎么能摆脱&#39; \&#39;?
答案 0 :(得分:9)
那些\
并不存在 - 这是ruby显示字符串的方式(或者更确切地说,这是inspect
方法对字符串的工作方式)。简而言之,就是说下一个"
不是字符串的结尾,而是它的一部分:
'"' #=> "\""
要查看没有斜杠,请告诉ruby显示结果字符串:
puts Shop.all.to_sql
# SELECT "shops".* FROM "shops"
#=> nil
答案 1 :(得分:-1)
gsub的第一个参数应该是正则表达式。此外,该字符串中没有反斜杠,有双引号,因此Shop.all.to_sql.gsub(/"/, '\'')
应该起作用