Rails 3: Каков правильный способ реагирования на REST-ful действия с JSON в rails?

Я пытаюсь создать API для моего приложения rails, используя ответы JSON для RESTful-контроллеров ресурсов. Для меня это новый опыт, поэтому я ищу руководство и указатели. Чтобы начать работу:

  • В приложении rails, каков "правильный" способ ответить JSON на методы контроллера REST-ful? (создавать, обновлять, уничтожать)
  • Есть ли идиоматический способ указать успех/неудачу с помощью ответа JSON?

Дополнительная информация:

  • В настоящее время я работаю с rails 3.0.beta2
  • Я хотел бы избежать использования плагина или драгоценного камня, чтобы выполнить работу с ворчанием, моя цель - лучше понять, как создать API-интерфейсы rails 3.
  • Ссылки на места, где я мог бы найти дополнительную информацию по этой теме, также будут оценены, некоторые быстрые поиски в google не принесли мне много пользы.

Ответ 1

#config/routes.rb
MyApplicationsName::Application.routes.draw do
  resources :articles
end

#app/controllers/articles_controller.rb
class ArticlesController < ActionController::Base

  # so that respond_with knows which formats are
  # allowed in each of the individual actions
  respond_to :json

  def index
    @articles = Article.all
    respond_with @articles
  end

  def show
    @article = Article.find(params[:id])
    respond_with @article
  end

  ...

  def update
    @article = Article.find(params[:id])
    @article.update_attributes(params[:article])

    # respond_with will automatically check @article.valid?
    # and respond appropriately ... @article.valid? will
    # be set based on whether @article.update_attributes
    # succeeded past all the validations
    # if @article.valid? then respond_with will redirect to
    # to the show page; if [email protected]? then respond_with
    # will show the :edit view, including @article.errors
    respond_with @article
  end

  ...

end