我正在使用rails和jBuilder在我的应用中提供JSON。我试图迭代各种颜色,只有当它们的值不是nil时才将它们添加到生成的JSON中。这就是我正在使用的,它有效,但我想学习如何pr
工作代码
json.cost do
unless card.cost_red.nil?
json.red card.cost_red
end
unless card.cost_white.nil?
json.white card.cost_white
end
unless card.cost_blue.nil?
json.blue card.cost_blue
end
end
非工作代码
json.cost do
["red", "white", "blue"].each { |color|
unless card["cost_" + color].nil?
json[color] card["cost_" + color]
end
}
end
' json [color]'部分是罪魁祸首,因为如果我只是使用json.blah它是有效的。有什么建议吗?
答案 0 :(得分:0)
这可能会有所帮助。
json.cost ["red", "white", "blue"] do |color|
unless card["cost_" + color].nil?
json.set! color, card["cost_" + color]
end
end