Как я могу генерировать JSON из метода response_to в рельсах?

Если у меня есть блок кода, как это:

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

Любые советы, указатели, идеи с удовольствием приветствуются...

2 ответа

Решение

Это так же, как другие форматы, за исключением того, что вы используете render :json вместо.

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

Или вы можете справиться с этим как JavaScript

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

тогда вы просто получите доступ к своему действию с ".js" в конце.

Другие вопросы по тегам