Rails如何删除数组中的最后一个逗号?

问题描述:

在我的JSON视图我有:Rails如何删除数组中的最后一个逗号?

[ 
<% @sog.each do |kon| %> 
{"id":"<%= kon.id %>","titel":"<%= kon.titel.force_encoding("UTF-8") %>","url":"<%= kon.photo.image.url %>"}, 
<% end %> 
] 

如何删除最后一个逗号的循环? JSON不起作用,因为最后有逗号。

几个选项,但一个是使用each_with_index并添加逗号如果它不是最后一次迭代。

您可以collect JSON字符串和join它们与",",消除需要检查。

或者创建一个将对象序列化为JSON的方法,避免视图图层中的所有繁忙工作。

+0

如何在视图中使用collect方法? – 2012-02-25 23:02:10

+0

我已经使用了each_with_index – 2012-02-25 23:15:48

这样做的另一个有意义的,简单的方法是

@json_obj = [] 

@sog.each do |kon| 
    @json_obj << {"id":"kon.id", 
       "titel":"kon.titel.force_encoding('UTF-8')", 
       "url":"kon.photo.image.url" 
       } 

您不必担心逗号了。希望这可以帮助。