ActiveRecord の JSON 表現を返そうとしていますが、JSON 文字列にキーのモデルの列名を含める代わりに、列ごとに異なるものを表示させたいと考えています。これを行う方法はありますか?ここに私の例の行があります
record.as_json(root: false, :only => [:message, :user])
私は基本的にメッセージとユーザーの列を返したいのですが、それらを取得したときに別の名前を付けたいと思っています。
ActiveRecord の JSON 表現を返そうとしていますが、JSON 文字列にキーのモデルの列名を含める代わりに、列ごとに異なるものを表示させたいと考えています。これを行う方法はありますか?ここに私の例の行があります
record.as_json(root: false, :only => [:message, :user])
私は基本的にメッセージとユーザーの列を返したいのですが、それらを取得したときに別の名前を付けたいと思っています。
私はあなたがこれを過度に複雑にしていると思います。必要な列は 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 レンダリング システムに渡すだけです。
record.as_json(root: false, :only => [:user], :methods => [:message_html])
そのメソッドを記録に定義します。