Rails 4.2.2
如果我点击链接:
<%= link_to "Feed", feed_path, data: {turbolinks: false } %>
或粘贴网址
www.example.com/feed
我的before_action
中的UsersController
重定向到login_url
Application Controlller
def logged_in_user
unless logged_in?
store_location
flash[:danger] = "Please log in."
redirect_to login_url
end
end
module SessionsHelper
def store_location
session[:forwarding_url] = request.url if request.get?
end
def redirect_or
redirect_to(session[:forwarding_url] || root_url)
session.delete(:forwarding_url)
end
成功登录后,redirect_or
方法将我重定向回login_url。
request.url
正在保存为www.example.com/login
答案 0 :(得分:0)
您没有将store_location
添加到login_url
after this comment吗?
如果您这样做,则在store_location
之后使用login_url
覆盖redirect_to login_url
,而您不想这样做。
如果不是问题,我会在puts
store_location
之前和之后session[:forwarding_url]
添加{{1}},因为我认为它没有得到妥善保存。
<强> Nice work debugging this one 强>