我有条件:
if(request.fullpath != '/')
redirect_to login_path(:redirect_url => view_context.b64_encode(request.fullpath)) unless current_user
else
redirect_to login_path unless current_user
end
如果请求不是根网址,那么基本上只说添加:redirect_url
参数。然而,这意味着重复重定向,除非代码......是否有可能使该参数像三元一样可选?
答案 0 :(得分:1)
我认为这应该有效(使用三元运算符):
unless current_user
redirect_to login_path(request.fullpath == '/' ? {} : { :redirect_url => view_context.b64_encode(request.fullpath) })
end
这也应该有效:
unless current_user
redirect_to login_path(({ :redirect_url => view_context.b64_encode(request.fullpath) } if request.fullpath != '/'))
end
答案 1 :(得分:0)
这是我提出的最好的:redirect_to login_path(request.fullpath != '/' ? {:redirect_url => view_context.b64_encode(request.fullpath)} : {}) unless current_user