Коды состояния железной дороги и XML - PullRequest
1 голос
/ 26 февраля 2010

Контроллер:

class CategoriesController < ApplicationController
  def create
    @category = Category.create(...)
      respond_to do |format|
        if @category.save
          format.xml { :status => :created }
        else
          format.xml { :status => :unprocessable_entity }
        end
      end
    end
end

Вид:

xml.instruct! :xml, :version => "1.0" 
xml.response do
  xml.status( STATUS )
  xml.code( STATUS CODE )
end

Как вы можете видеть, я установил код состояния в своем действии создания контроллера. У меня вопрос, как я могу прочитать этот код состояния изнутри (например, СТАТУС КОД должен быть числом, например, 200 для ОК, СТАТУС должен быть строкой, такой как «ОК», «Несанкционированный»). Я знаю, что мог бы создать переменную, например @status = 'хорошо', но я не хочу дублировать код. Спасибо за ответ!

1 Ответ

1 голос
/ 26 февраля 2010

Способ передачи переменных из контроллера в представление в Rails заключается в использовании переменных экземпляра:

xml.instruct! :xml, :version => "1.0"  
xml.response do 
  xml.status(@status) 
  xml.code(@status_code)
end

Однако я не понимаю, почему клиент получал бы статус и код состояния из возвращенного XML, когда эта информация уже доступна ему из ответа HTTP, т.е. HTTP 200 OK. Предоставление его в XML также является излишним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...