ruby-on-rails - ruby:将数组的每个元素用附加引号引起来

标签 ruby-on-rails ruby

我有以下字符串:

a = "001;Barbara;122"

我拆分成字符串数组:

names = a.split(";")
names = ["001", "Barbara", "122"] 

我应该怎么做才能将每​​个元素另外用 '' 引号括起来? 结果应该是

names = ["'001'", "'Barbara'", "'122'"]

我知道这听起来很奇怪,但我需要它在 ruby​​ on rails 中进行数据库查询。出于某种原因,如果我的名字在“”引号中,我将无法访问数据库记录。我在数据库中确实有 mk1==0006 但 rails 不想以某种方式访问​​它。但是,它确实访问 1222。

sql = "SELECT mk1, mk2, pk1, pk2, pk3, value_string, value_number FROM infos WHERE mk1 in (0006) AND value_string ='männlich';"         
recs = ClinicdbInfo.find_by_sql(sql)     
=> [] 

sql = "SELECT mk1, mk2, pk1, pk2, pk3, value_string, value_number FROM infos WHERE mk1 in (1222) AND value_string ='männlich';"         
recs = ClinicdbInfo.find_by_sql(sql)     
 => [#<Info mk1: "1222", mk2: "", pk1: "Information allgemein", pk2: "Geschlecht", pk3: "Wert", value_string: "männlich", value_number: nil>] 

因此,我只需要将 names 的每个元素包装到额外的 ''-quotes 中。

最佳答案

names.map{ |e| "'" + e + "'" }
=> ["'001'", "'Barbara'", "'122'"]

names.map{ |e| "'#{e}'" }
=> ["'001'", "'Barbara'", "'122'"]

关于ruby-on-rails - ruby:将数组的每个元素用附加引号引起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276873/

相关文章:

ruby-on-rails - Rails 模型中关联、作用域、验证等的正确顺序是什么

ruby-on-rails - capybara 不关心 event.preventDefault

ruby - 如何在 Atom for Ruby 中为自定义方法添加语法突出显示

ruby - ruby 有命令行框架吗?

css - 不正确的表单验证

ruby-on-rails - 嵌入文档的嵌套表单

php - 在mysql中将camelcase表和列名转换为snake case

ruby-on-rails - 在 Ruby on Rails 中使用 pdftk 库检查复选框

mysql - 如何生成 ActiveRecord 查询

javascript - JSON 从 Javascript 对象到 Ruby