我使用脚本生成一些种子内容,最后得到这样的内容:
Article.create!(
brand:"adidas",
price:90.00,
remote_image_url:"https:http://media-cache.placedestendances.com/image/37/2/867372.38.jpg",
redirection:"http://adidas.placedestendances.com/mode-femme/baskets-basses-stan-smith-blanc/fiche-produit,1718648,1718649",
tags:"c")
当我运行db:seed
时,我收到了brand:"adidas"
行的错误:
syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
非常奇怪的是,当我手动重新打造品牌时,它的工作正常......
我有大量的数据库数据,因此我无法手动为每个数据库执行此操作。我对其他一些文章也随机得到同样的错误。
有什么想法吗?
seed = File.open('../seed.rb', 'w');
ARGV.each do |f|
File.open(f, "r") do |f1|
while line = f1.gets
tab = line.split("\",\"");
tab[1].tr!(' €', '').tr!(',','.').tr!('"', '')
seed.write(
"Article.create!(
brand:#{tab[0][0..-1].downcase!}\",
price:#{tab[1][0..-2]},
remote_image_url:\"https:#{tab[2]}\",
redirection:\"#{tab[3][0..-2]},
tags:\"#{f[5..-5]}\")
")
end
end
end
作为我的条目:
"MANGO","19,99 €","http://media-cache.placedestendances.com/image/97/0/831970.38.jpg","http://mango.placedestendances.com/mode-femme/collier-en-chaines-fines--dore/fiche-produit,1755700,1755701"
在我得到之后:
Article.create!(
brand:"mango",
price:19.99,
remote_image_url:"https:http://media-cache.placedestendances.com/image/97/0/831970.38.jpg",
redirection:"http://mango.placedestendances.com/mode-femme/collier-en-chaines-fines--dore/fiche-produit,1755700,1755701",
tags:"a")
编辑:修复了隐藏的字符(cat -e => Article.create!(品牌:M-oM-; M-?"芒果",$ )
答案 0 :(得分:1)
尝试将参数作为显式哈希传递:
Article.create!({
brand:"adidas",
price:90.00,
remote_image_url:"https:http://media-cache.placedestendances.com/image/37/2/867372.38.jpg",
redirection:"http://adidas.placedestendances.com/mode-femme/baskets-basses-stan-smith-blanc/fiche-produit,1718648,1718649",
tags:"c"
})