railstutorial.org имеет предложение, которое кажется мне немного странным.
class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
end
include SessionsHelper
делает методы доступными из ApplicationController
, да, но он делает их доступными и в любом представлении. Я понимаю, что аутентификация/авторизация является сквозной, но действительно ли это лучшее место?
Мне кажется, что это слишком широкий охват. Например, код, реализующий, скажем, before_filter
, который условно перенаправляет (как это делает пример railstutorial.org) в модуле, который чаще всего содержит помощники вида, кажется удивительным.
Будет ли функциональность, не строго необходимая в представлениях, лучше размещаться в ApplicationController или где-либо еще?
Или я просто слишком много думал об этом?