例如,用户访问带有邀请链接localhost:3000/home?invitation=invitation_token
的家庭,我希望在用户浏览网站时保留参数,直到他访问注册页面。
我知道有可能在link_to
方法中添加参数,但是我需要将其放在许多地方,并且无法预测用户行为。
但我正在查看自定义方法,我会在before_action
中查看是否有params[:invitation]
并将其传递给下一个不可预测的方法。< / p>
PS。我知道我可以保存到cookie,但这并不是我想要的。
答案 0 :(得分:2)
您应该将其保存在会话变量中,例如session[:invitation_token]
,否则您必须在每个链接中传递参数。然后,您可以直接使用变量,例如:
before_action :check_token
def check_token
redirect_to registration_url unless session[:invitation_token]
end