gpt4 book ai didi

ruby-on-rails - 如何在Rails 4中获取上一页的引荐来源网址

转载 作者:行者123 更新时间:2023-12-03 16:12:54 25 4
gpt4 key购买 nike

我将尝试以一种简单的方式来说明它。我在/users/sign_up页面上有一个注册按钮(重定向到/visitors/owner-faq页面)。我想要注册后此页面的URL(/visitors/owner-faq),以便我可以使用它来设置类似

if sign_up_from_url == '/visitors/owner-faq'
@user.role = 'Owner'
end

我试图在 Controller 中使用 request.referer,但是它给了我 /users/sign_up而不是 /visitors/owner-faq。但是,当我在 注册 View 页面中使用 <%= url_for(:back) %>时,它给了我想要的 /visitors/owner-faq,但是我不知道如何在 Controller 中访问它。谁能建议我如何在 Controller 中访问该值?我正在使用 设计进行注册。

最佳答案

如果用户在/visitors/owner-faq页面上并单击注册链接,则发生的情况是注册页面中的引荐来源网址为/visitors/owner-faq。这就是url_for(:back)在该页面上起作用的原因。现在,在注册页面中提交表单后,引荐来源网址现在更改为注册网址,这很有意义。

您要做的是在用户访问注册页面时将引荐来源网址保存在 session 中。因此,在为注册页面提供服务的操作中(例如,这是用户的新操作)

class UsersController < ApplicationController
def new
session[:referrer] = request.referrer
end
end

因此,当用户提交注册表单时,您可以访问 session
def create
referrer = session.delete(:referrer)
user = User.new
user.role = 'owner' if referrer == '/visitors/owner-faq'
user.save!
end

关于ruby-on-rails - 如何在Rails 4中获取上一页的引荐来源网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com