Контроллеры Rails, нормально ли добавлять код приложения в блоке формата response_to? - PullRequest
0 голосов
/ 04 сентября 2010

Мне интересно, считается ли разумным добавить код приложения внутри блока, переданного в format.xxx внутри response_to?Например, генератор кода rails дает нам что-то вроде:

@object = Object.new
...
...  several lines of other app code ...
...
respond_to do |format|
 format.xml {render :xml => @object}
end

Но что, если я вместо этого сделаю что-то вроде этого:

respond_to do |format|
 format.xml {
  @object = Object.new
  ...
  ...  several lines of other app code ...
  ...
  render :xml => @object
 }
end

Есть ли что-нибудь "неправильное" или небезопасное в этомподход?Обратите внимание, меня не интересует ваше мнение относительно того, будете ли ВЫ делать это таким образом, мне интересно знать, есть ли какие-либо недостатки или риски безопасности и т. Д. В этом подходе.

1 Ответ

2 голосов
/ 04 сентября 2010

Я давно не работал с Rails, но не вижу причин не помещать код в блок.

Предполагая, что у вас есть более одного формата, на который вы отвечаете,Я бы сказал, что нужно поместить любой код, который является общим для нескольких форматов, за пределами блока и поместить что-нибудь специфичное для этого одного формата внутри блока.

Например,

@object = Object.new

respond_to do |format|
  format.html {
    @html_settings = {}
  }
  format.xml {
    @xml_settings = {}
  }
}

Если вы 'отвечая только на один формат, тогда не имеет значения, куда он идет.

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