2012-03-06 3 views
0

Railsでjsonデータをレンダリングするのとは異なる方法を追加したいと思います。Rails、{:json => @model}の出力をオーバーライドします

問題は、各行のすべてのフィールド名を必要とせず、各列のデータを含む配列だけでなく、いくつかのタイプのフィルタをセットアップすることができて、私は、コントローラを持っている現時点ではJSON出力

にしたい:

respond_to do |format| 
     format.html # show.html.erb 
     format.json { render :json => @person } 
end 

、私はのような何かをしたいと思います:

format.json { render :json2 => @person } 

コントローラのこの特定のアクションでは、JSONデータの形式が異なっています(:json2)。私は見ていた:

ActionController.add_renderer :json2 do |json, options| 

しかし、私はこれを回避することはできません。私は始めましたか?私はそれが 'デフォルト'のjsonレンダラと同じ方法で実行されるようにしたい。そのため、各ビューでindex.json2.erbファイルを別々に作成する必要はありません。

format.json { render :json2 => @person, :table = 'xyz', :columns = ['a', 'b'] } 

私はYehuda Katzを読みましたが、私はまだそれを把握することはできません。私の好きな配列にいくつかの余分なフィールドを追加することができればさらに良いです。

+0

downvote?何のために?私は他の記事を読んだけど、それはRails 2のためのものでした。私はRails 3から始めました。 – Roger

答えて

関連する問題