-1

我尝试写入这样的字符串:

arr << "Icd3code.create!({:text => '#{variable1}'})" + "\n"

我的问题是变量 1 是一个字符串,其中包含一个'

variable1 = "Ami's house"

所以最后我的代码的输出是这样的:

Icd3code.create!({:text => 'Ami's house'})

你怎么能看到现在我有一个'太多了!我不知道我能做些什么来避免这个问题!谢谢

4

2 回答 2

2

如果我理解的话,你想循环一些输入,建立一个参数列表,你打算以后用它来创建一些记录。如果是这种情况,我认为您最好使用哈希而不是字符串:

# Let's pretend this came from the big, bad, world
inputs = ["Ami's house", "Fred's house", "Jim's house"]

creation_params = []

inputs.each do |input|
  creation_params << {:text => input}
end

然后你可以创建所有的 Icd3codes,像这样:

creation_params.each do |params|
  Icd3code.create!(params)
end

或者您可以将它们保存在文本文件中,以备后用:

File.open('dest', 'w') do |f|
  f.write(creation_params.to_json)
end
于 2013-08-28T17:56:53.380 回答
-5
variable1 = "Ami's house" 
puts %Q[Icd3code.create!({:text => "#{variable1}"})] + "\n"

--output:--
Icd3code.create!({:text => "Ami's house"})
于 2013-08-28T17:21:44.413 回答