2

ActiveRecord の JSON 表現を返そうとしていますが、JSON 文字列にキーのモデルの列名を含める代わりに、列ごとに異なるものを表示させたいと考えています。これを行う方法はありますか?ここに私の例の行があります

record.as_json(root: false, :only => [:message, :user])

私は基本的にメッセージとユーザーの列を返したいのですが、それらを取得したときに別の名前を付けたいと思っています。

4

2 に答える 2

1

私はあなたがこれを過度に複雑にしていると思います。必要な列は 2 つだけなので、手動で行ってみませんか?

def some_controller
    #...
    json = {
        :new_name_for_message => r.message,
        :new_name_for_user    => r.user
    }
    render :json => json, :status => :ok
end

2 要素のハッシュを作成し、JSON レンダリング システムに渡すだけです。

于 2012-04-24T19:49:29.693 に答える
1
record.as_json(root: false, :only => [:user], :methods => [:message_html])

そのメソッドを記録に定義します。

于 2012-04-24T18:58:19.510 に答える