1
所以我試圖讓用戶返回到他們在看網頁,他們點擊「登錄」導軌和新用戶重定向和登錄
這是我在我的用戶應用控制器獲得前:
def redirect_back_or_default(default)
redirect_to(session[:return_to] || default)
session[:return_to] = nil
end
而這就是我在我的會話控制器:
def new
@user_session = UserSession.new
session[:return_to] = request.referer
end
end
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Login successful!"
redirect_back_or_default(home_path)
else
render :action => :new
end
end
也能正常工作的大部分時間,但如果在正確的用戶登錄,他們註冊到網站後,他們將被重定向至一個空白頁。我想這是「創建」操作,因爲這是去用戶會話之前的最後一個操作。
所以,我想這一點:
def new
@user_session = UserSession.new
unless request.referer == join_path
session[:return_to] = request.referer
end
end
而這個試圖帶我回到登錄頁面我登錄後
我真正想要做的是讓用戶看到自己的個人資料,當他們第一次登錄。
這不會給我一個用戶ID並提出了路由錯誤
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
flash[:notice] = "Login successful!"
redirect_back_or_default(user_path(current_user))
else
render :action => :new
end
end
任何人通過之前這些重定向雜技哪裏去了?我似乎無法得到它的工作。如果有幫助,我使用authlogic。