5

我想知道是否可以获取域 url 即

localhost or myapp.heroku.com

从初始化文件?

我相信

request.url

并且请求方法仅适用于控制器。是否有相当于 javascript

document.domain

我可以在初始化文件中做什么?或者我可以用javascript嵌入.rb文件吗?或请求对象的其他替代方案?

我尝试了一些不起作用的东西,例如

Rails.root 

并且很难弄清楚。

谢谢你=)

4

3 回答 3

2

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

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

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

Rails.env.staging?

在我的初始化程序中

于 2012-05-21T19:56:07.017 回答
1

就像是:

require 'socket'

Socket.gethostname
于 2012-05-21T03:50:01.547 回答
1

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

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

于 2015-11-10T14:45:50.747 回答