2012-02-02 7 views
0

私は以下のことがあり、なぜ動作しないのか分かりません。ロケーションオブジェクト全体を出力します。レールas_jsonのみ:レンダリングが動作しない

def test 
    @l=Location.find(12) 
    render :json => @l.as_json(only: [:id, :name]) 
end 

IDと名前のみに制限するにはどうすればよいですか?私はrespond_toまたはrespond_withブロックを使用したくありません。

THX

答えて

1

は、この仕事をしていますか?

render json: { location: { id: @l.id, name: @l.name } } 

回答を編集したいと思います。私はこれが正しい方法だと思う。

render json: @l.to_json(only: [:id, :name]) 
+0

THXのようにはActiveRecord ::ベースのto_jsonをメソッドを使用することができます。これは動作しますが、Location.allなどの配列の配列の構文をどのように追加するのですか? – timpone

+0

構文は次のようになります: 'render json:{locations:Location.all.map {| l | {id:l.id、name:l.name}}} ' – Max

+0

私は編集された答えを見てください。 – Max

0

あなたはこの

render :json => @l.to_json(:only => [:id, :name]) 
+0

それは古い構文です! ;) – DaMainBoss

関連する問題