轨。将传递参数从操作保存到操作

时间:2017-02-20 23:07:46

标签: ruby-on-rails ruby

例如,用户访问带有邀请链接localhost:3000/home?invitation=invitation_token的家庭,我希望在用户浏览网站时保留参数,直到他访问注册页面。

我知道有可能在link_to方法中添加参数,但是我需要将其放在许多地方,并且无法预测用户行为。

但我正在查看自定义方法,我会在before_action中查看是否有params[:invitation]并将其传递给下一个不可预测的方法。< / p>

PS。我知道我可以保存到cookie,但这并不是我想要的。

1 个答案:

答案 0 :(得分:2)

您应该将其保存在会话变量中,例如session[:invitation_token],否则您必须在每个链接中传递参数。然后,您可以直接使用变量,例如:

before_action :check_token

def check_token
  redirect_to registration_url unless session[:invitation_token]
end