4

コントローラ:

user = User.find(params[:id])
respond_with({:posts => @posts.as_json})

モデル:

def as_json(options = {})
  {
    name: self.name,
    ...
  }
end

JSON表示を変更する関数params[:id]などにパラメータを渡したいです。as_json

どうすればいいですか?

4

1 に答える 1

5

まあ、as_json はオプション ハッシュを取るので、次のように呼び出すことができると思います。

respond_with({:posts => @posts.as_json(:params => params)})

次に、の定義でパラメーターを参照できますas_json

def as_json(options = {})
  params = options[:params] || {}
  {
    name: self.name,
    params_id: params[:id]
    ...
  }
end
于 2012-07-15T16:53:22.943 に答える