Итак, мой вопрос: как реализовать свои рукописные помощники на основе роли текущего пользователя.Реализация помощников на основе ролей
Было бы эффективным изменить поведение во время запроса? например Помощник каким-то образом определяет роль пользователя и включает соответствующий SubModule?
module ApplicationHelper
module LoggedInHelper
# Some functions
end
module GuestHelper
# The Same functions
end
# If User is Guest then include GuestHelper
# If User is LoggedIn then include LoggedInHelper
end
Действительно ли этот способ? это рельсы способ? У меня есть целая куча функций, которые действуют как это, и я не хочу, чтобы обернуть каждый из них, если заявление
def menu_actions
if current_user.nil?
# User is guest
{ "Log in" => link_to "Login", "/login" }
else
# User is Logged In
{ "Log out" => link_to "Logout", "/logout" }
end
end
Спасибо за ваше время и мысли.