[英]Redirect after the sign up
我試圖在注冊后通過保存引用人來重定向用戶,以防用戶單擊任何特定頁面進行注冊。 但是它不能正常工作。
在我的應用控制器中
def save_referer
unless user_signed_in?
unless session['referer']
session['referer'] = request.referer || 'none'
end
end
end
在用戶模型中
def save_with(referer)
referer = referer unless referer == "null"
self.save
end
我在這里保存它
if current_user.sign_in_count <= 1
if current_user.save_with(session[:referer])
redirect_to session[:referer]
else
redirect_to any_other
end
在用戶模型中,我想您沒有正確地正確引用該屬性。
def save_with(referer)
self.referer = referer unless referer == "null"
self.save
end
通常,我采取以下策略:
在任何有注冊按鈕的地方,我都可以這樣鏈接到注冊:
<a href="/signup?signup_refer=/current_path">Signup!</a>
然后在我的注冊操作中執行以下操作:
def signup
session[:signup_refer] = params[:signup_refer] if params[:signup_refer] # put the refer in a session
redirect_to(signup_path) if session[:signup_refer] && params[:signup_refer] # this clears params if you want to keep your url nice an clean for the user
# do signup stuffs
signup_refer = session[:signup_refer] # get the refer info in a variable
session[:signup_refer] = nil # clear the session before redirecting
redirect_to(signup_refer ? signup_refer : "/default_post_signup")
end
我知道這可能很麻煩,但是它完全適合我(在Merb中很好用,在這里它是“ redirect()
而不是redirect_to()
)),但是您明白了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.