У меня в настоящее время есть код в моем ApplicationController, чтобы проверить, вошел ли пользователь в систему и имеет ли он необходимый доступ для выполнения определенного действия (тесты выполняются в before_filter).
Мне требуется та же функциональность в представлениях, чтобы решить, следует ли отображать ссылки администратора в представлении списка, но как мне лучше избежать дублирования кода в контроллерах и представлениях?
То, как я решил сделать это сейчас, это иметь user_can_edit_customers? по сути быть оболочкой для 'can_edit_customers?' в моем классе пользователя:
ApplicationController:
class ApplicationController
А потом сделайте что-то похожее, на мой взгляд, помощники.
Таким образом, все функции инкапсулированы в модели User, но мне все еще нужно определить оболочки в моих контроллерах и помощниках, но есть ли более разумные способы сделать это?
Обратите внимание, пользовательский материал является лишь примером - это также относится и к другим функциям.