所以我的问题是你将如何根据当前用户的角色来实现你的手写助手。
在请求时更改行为是否有效?例如,帮助程序以某种方式找出用户的角色,并包含正确的子模块?
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
这种方式效率高吗?是轨道方式吗?我有一大堆这样的函数,我不想将它们中的每一个都包装在 if 语句中
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
感谢您的时间和想法。