Ruby on rails 如何删除';引号';从可以包含单引号的字符串开始?

Ruby on rails 如何删除';引号';从可以包含单引号的字符串开始?,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,escaping,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Escaping,我有一个参数,作为字符串返回4,36,'new tag',52,'Mcdonald's',25 然后我把它们分开,然后我需要对它们做一些工作 首先,我需要在此基础上创建一个新标记,但我需要以某种方式将外部引用(或其他什么?)分包,而不是内部引用(如果标记包含它,如上面的麦当劳) 其次,我需要取消对令牌输入添加的\的扫描。我不知道如何做的第二步,所以这是最好的安全明智 另外,我对该模型进行了验证,所以我希望这足够好,我不必担心SQL注入之类的事情 params.split(/,\s+/).map{

我有一个参数,作为字符串返回
4,36,'new tag',52,'Mcdonald's',25

然后我把它们分开,然后我需要对它们做一些工作

首先,我需要在此基础上创建一个新标记,但我需要以某种方式将外部引用(或其他什么?)分包,而不是内部引用(如果标记包含它,如上面的麦当劳)

其次,我需要取消对令牌输入添加的\的扫描。我不知道如何做的第二步,所以这是最好的安全明智

另外,我对该模型进行了验证,所以我希望这足够好,我不必担心SQL注入之类的事情

params.split(/,\s+/).map{|s| s.start_with?("'") && s.end_with?("'") ? s[1..-2] : s }

这应该可以澄清关于报价的第一部分。

我可以问一下,为什么您需要取消对输入的scape?如果您尝试
将“麦当劳”放入irb,那么您应该会得到“麦当劳”。我需要创建一个标记。新建(:name=>token),但每个标记在。。所以字符串中包含了escapeForgive me,但我不太明白问题所在。你试过了吗,结果出了点差错?只是如果它逃逸了,那么Ruby会处理它,这不是你需要考虑的事情。例如“麦当劳”。to_sym
给予
:“麦当劳”
谢谢!你知道我是怎么取消它的吗?看看我上面的问题,但是除非你有一个具体的理由取消它,否则就不要这样做——它的另一面会很好的。不是的,它们被保存为“麦当劳”,试着在上面的
.map{s}.gsub%r{\\},“}
后面加上
,只要你确定你根本不需要任何反斜杠。如果您使用ORM的模型来保存数据库,那么它应该负责SQL注入,无需担心这一点。