在我的JSON视图中,我有:
[
<% @sog.each do |kon| %>
{"id":"<%= kon.id %>","titel":"<%= kon.titel.force_encoding("UTF-8") %>","url":"<%= kon.photo.image.url %>"},
<% end %>
]
如何删除循环中的最后一个逗号? JSON无法正常工作,因为最后有一个逗号。
答案 0 :(得分:3)
有几个选项,但一个是使用each_with_index
并添加逗号iff它不是最后一次迭代。
您可以collect
使用join
JSON字符串,","
使用{{1}},无需检查。
或者创建一个将对象序列化为JSON的方法,避免视图层中的所有繁忙工作。
答案 1 :(得分:0)
另一种有意义且最简单的方法是
@json_obj = []
@sog.each do |kon|
@json_obj << {"id":"kon.id",
"titel":"kon.titel.force_encoding('UTF-8')",
"url":"kon.photo.image.url"
}
您不再需要担心逗号了。希望这可以帮助。