如何在初始值设定项文件Rails中获取域URL



我想知道是否有可能获取域网址,即

localhost or myapp.heroku.com

从初始值设定项文件?

我相信

request.url

并且请求方法仅在控制器中工作。 有没有等效的JavaScript

document.domain

我可以在初始值设定项文件中执行? 或者我可以用JavaScript嵌入.rb文件吗?还是请求对象的其他替代方法?

我尝试了许多不起作用的事情,例如

Rails.root 

并且很难弄清楚。

谢谢 = (

我刚刚将我的一个应用程序更改为暂存环境。 我无法让套接字工作。

heroku config:add RAILS_ENV=staging --app myapp-staging
heroku config:add RACK_ENV=staging --app myapp-staging

然后我在环境文件夹中创建了一个staging.rb文件(我只是从生产文件中复制并粘贴了所有内容(,Rails能够推断出该方法

Rails.env.staging?

在我的初始值设定项中

像这样:

require 'socket'
Socket.gethostname

应用程序只能在处理请求时确定其域。(因此,它可用于request中的控制器。在初始值设定项中,在启动时执行一次,在任何请求得到服务之前,这是不可能的。(除非你,维护者,事先知道域并在配置中指定它,例如在环境变量中。

单个应用程序甚至可以在多个域上运行。然后,每个请求可能具有不同的域。

最新更新