web-dev-qa-db-ja.com

Railsのrespond_toメソッドからjsonを生成するにはどうすればよいですか?

次のようなコードブロックがある場合:

def show
  @post = Post.find(params[:id])

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

どのように追加しますか

format.json

どんなヒント、ポインタ、アイデアも喜んで歓迎します...

31
Oberon Dude

代わりにrender :jsonを使用することを除いて、他の形式と同じです。

respond_to do |format|
  format.html # show.html.erb
  format.xml  { render :xml => @post }
  format.json { render :json => @post }
end
70
rogeriopvl

または、javascriptとして処理できます

respond_to do |format|
  format.js { render :json { :only => :name }.to_json }
end

最後に「.js」を使用してアクションにアクセスするだけです。

10
VP.