Направляющие 3: Что надлежащий путь состоит в том, чтобы ответить на УСПОКОИТЕЛЬНЫЕ действия с JSON в направляющих?

Я пытаюсь сделать API для своего приложения направляющих с помощью ответов JSON на УСПОКОИТЕЛЬНЫЕ контроллеры ресурсов. Это - новый опыт для меня, таким образом, я ищу некоторое руководство и указатели. Начать вещи:

  1. В приложении направляющих, что "надлежащий" путь состоит в том, чтобы ответить JSON к УСПОКОИТЕЛЬНЫМ методам контроллера? (создайте, обновите, уничтожьте),
  2. Существует ли идиоматический способ указать на успех/отказ посредством ответа JSON?

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

  • Я в настоящее время работаю с направляющими 3.0.beta2
  • Я хотел бы избегать использования плагина или драгоценного камня, чтобы сделать трудную работу, моя цель состоит в том, чтобы получить лучшее понимание того, как сделать направляющие 3 API.
  • Ссылки на места, я мог найти больше информации о теме, будут также цениться, некоторый быстрый поиск на Google не сделал меня много пользы.
14
задан Damien Wilson 3 April 2010 в 20:31
поделиться

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 !@article.valid? then respond_with
    # will show the :edit view, including @article.errors
    respond_with @article
  end

  ...

end
29
ответ дан 1 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: