1

我已经阅读了另一个标题相同的问题,它实际上并没有获得应用程序的 URL。它获取当前页面的 URL,该 URL 非常接近,并且非常适合问题的需要。可悲的是,我没有当前页面,甚至没有控制器。

我想获取应用程序的 HOST/URL。从工人 DYNO 内部。

我现在在 Heroku 上有两个“应用程序”......一个测试和一个生产。从技术上讲,两者都是生产,一个是测试版,另一个是发布的。

我希望能够找出应用程序的 URL,因为我将数据发送给第三方,并且我想包含一个返回系统的链接(和特定记录)......

更多细节:
我有一个工人向 eBay 发送一个包含产品详细信息的 XML 文件。在产品详细信息中,有一个与 HTML 兼容的“描述”的空间。我希望在其中有一个返回我的系统的链接,以便查看者可以看到超出 eBay 显示能力的详细信息。因此我需要我的系统的 URL。

4

2 回答 2

6

您可以使用以下方法访问 Rails 应用程序的路由助手:

Rails.application.routes.url_helpers

要从此模块访问帮助程序,只需调用其上的方法并将主机传递给它:

Rails.application.routes.url_helpers.products_url(:host => "example.com")
于 2013-02-07T00:22:05.467 回答
1

ENV / config 中没有任何内容,但您可以添加它:

heroku config:add HOST=warmmist837.herokuapp.com

或者更好

heroku config:add BETA=1

然后在代码中你可以说ENV['HOST']ENV['BETA']

通常在 Rails 代码中我会说Request.host,但我认为这不会有帮助,因为你是在工作人员而不是机架请求中。

另外,如果您担心使用此设置在本地工作,如果您可能应该使用 RVM,您可以将导出语句添加到 .rvmrc

export HOST=my.localmachine.com

于 2013-02-07T01:53:23.923 回答