2012-02-25 112 views
0

在我的JSON視圖我有:Rails如何刪除數組中的最後一個逗號?

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

如何刪除最後一個逗號的循環? JSON不起作用,因爲最後有逗號。

回答

3

幾個選項,但一個是使用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

0

這樣做的另一個有意義的,簡單的方法是

@json_obj = [] 

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

您不必擔心逗號了。希望這可以幫助。