我正在使用门卫,如果我以任何方式修改current_user
,就像把它放在条件语句中使用,除非或如果,门卫不会捡起它。是否有一种简单的方法可以保留current_user ||
并适合包含会话存储的下两行并重定向到双管右侧的一行中工作?
resource_owner_authenticator do
current_user ||
session[:after_login_redirect_to] = request.fullpath
redirect_to('/connect')
end
答案 0 :(得分:6)
无需将其作为单行 - 使用开始块:
resource_owner_authenticator do
current_user || begin
session[:after_login_redirect_to] = request.fullpath
redirect_to('/connect')
end
end
答案 1 :(得分:1)
你当然可以用多行代码表达一个表达式,只需将它们用括号括起来即可。
current_user || (session[:after_login_redirect_to] = request.fullpath; redirect_to('/connect'))