Ruby on rails rails 3中的会话重定向问题

Ruby on rails rails 3中的会话重定向问题,ruby-on-rails,ruby,session,redirect,heroku,Ruby On Rails,Ruby,Session,Redirect,Heroku,我在rails 3中使用会话时遇到了一些问题。我将首先详细介绍我的一些工作环境 我在heroku上托管了一个应用程序,假设您的URL是 我有一个域名,CNAME指向heroku,假设它是 当我从我的应用程序向客户端发送电子邮件时,它包含一个指向应用程序限制区域的url,这样做的方式是: ->电子邮件-> 但是,如何将用户重定向到一个秘密区域 问题是:Rails保存应用程序的实际URL,在本例中为,并且在登录后将用户重定向到!我不希望它,希望它继续在这个领域 有什么方法可以做到这一点吗?试试这个:

我在rails 3中使用会话时遇到了一些问题。我将首先详细介绍我的一些工作环境

我在heroku上托管了一个应用程序,假设您的URL是

我有一个域名,CNAME指向heroku,假设它是

当我从我的应用程序向客户端发送电子邮件时,它包含一个指向应用程序限制区域的url,这样做的方式是:

->电子邮件->

但是,如何将用户重定向到一个秘密区域

问题是:Rails保存应用程序的实际URL,在本例中为,并且在登录后将用户重定向到!我不希望它,希望它继续在这个领域

有什么方法可以做到这一点吗?

试试这个:

redirect_to secret_path( host: 'myapp.com' )

编辑

我不确定我是否理解您的问题-您的意思是将URI保存在DB中

依我看,保存硬编码的URL可能会成为一件麻烦事

如果可能,尝试保存解构的URI部分,而不是完整的字符串路径,这样以后就可以将参数发送到
url\u以获得
或任何路径帮助器(并根据需要进行调整,或者立即更新整个表以更改主机)

如果没有,则始终可以使用您选择的任何库解析保存的URI,然后在重定向之前对其进行调整

尝试以下操作:

redirect_to secret_path( host: 'myapp.com' )

编辑

我不确定我是否理解您的问题-您的意思是将URI保存在DB中

依我看,保存硬编码的URL可能会成为一件麻烦事

如果可能,尝试保存解构的URI部分,而不是完整的字符串路径,这样以后就可以将参数发送到
url\u以获得
或任何路径帮助器(并根据需要进行调整,或者立即更新整个表以更改主机)


如果没有,您可以随时使用您选择的任何库解析保存的URI,然后在重定向之前对其进行调整

显示任何相关代码将非常有用。真的吗?您希望看到哪种代码?因为rails会自动思考。我将这个家伙发送到myapp.com/secret,但是rails存储了URL myapp.herokuapp.com/secret,在登录后,用户被重定向到该URL。我想将他重定向到myapp.com/secret URL。@他基本上是在问如何在heroku rails应用程序上设置默认域名。对我来说似乎是一个很好的有效问题。显示任何相关代码都会很有用。真的吗?您希望看到哪种代码?因为rails会自动思考。我将这个家伙发送到myapp.com/secret,但是rails存储了URL myapp.herokuapp.com/secret,在登录后,用户被重定向到该URL。我想将他重定向到myapp.com/secret URL。@他基本上是在问如何在heroku rails应用程序上设置默认域名。对我来说似乎是一个很好的有效问题。谢谢,就这样!顺便说一句,我不会将URL保存在DB中,而是将它们保存在环境变量中,比如ENV['HOST'],因为我的开发环境是localhost,而生产应用程序是heroku。我将把这个生产环境改为myapp.com而不是myapp.herokuapp.com谢谢,就这样!顺便说一句,我不会将URL保存在DB中,而是将它们保存在环境变量中,比如ENV['HOST'],因为我的开发环境是localhost,而生产应用程序是heroku。我会将此生产环境更改为myapp.com,而不是myapp.herokuapp.com