オブジェクトのリストを JSON にレンダリングしたいのですが、非常に具体的な形式と情報のサブセットをレンダリングしたいので、to_json を使用したくありません。
これが私の見解です ( foo.json.erb
):
{
"id" : <%= @user.id %>,
"progress" : [
<% @rewards_tapped[0..-2].each do |reward| %>
<%= render "rewardprogress", :reward => reward,
:user => @user %>,
<% end %>
<%= render "rewardprogress", :reward => @rewards_tapped.last,
:user => @user %>
]
}
ご覧のとおり、@rewards_tapped の最後のアイテムを個別にレンダリングして、エントリの後にカンマがないようにする必要があるため (有効な JSON を作成するため)、かなり醜いです。
これを行うためのより良い方法が必要です。私はRubyに少し慣れていません。誰かが私を正しい方向に向けることができますか?