2013-03-25 35 views
7

我的网站上的用户可以有一个子域。因此,例如,他们的网址为子域中的Rails url助手 - 删除子域

name.example.com 

登录的用户能够查看更多的用户信息,使用户的节目页面上,我有一个用下面的代码生成一个链接:

user_url(@user, :subdomain => false) 

此链接,则会生成下列URL(其中@user有19的ID)

example.com/users/19 

当我将鼠标悬停在链接,一切看起来好(即在浏览器窗口的底部,Safari和FF。正确显示的链接)

问题是,当我点击链接,该网站提出了一个404,网址为:

example.com/users/19 

任何人都知道发生了什么事COM和用户,以及如何之间的斜线做我拿回来?

BTW,Rails 3.2和一切工作在发展中。这个问题只在生产中出现。

+0

几个快速qs - 你有没有尝试过耙路线,看看你的所有路线选项是什么,并确保他们都看起来正确? – 2013-03-25 20:33:05

+1

'config/production.rb'中是否有某种'base url'设置? – 2013-03-25 20:44:00

+0

你可以发布你的路线,或者你如何在第一个地方生成子域名? – 2013-03-25 20:44:07

回答

13

第一个建议是使用路径助手而不是用户助手,但编辑,因为我不认为这有帮助。

你是否尝试过root_url(:host => request.domain)丢失子域,而不是你的方法?我从这里得到:https://github.com/rails/rails/issues/2025

+0

谢谢 - 这似乎已经做到了! – 2013-03-25 21:09:03

+0

request.domain是我正在寻找的。 +1 – Francois 2013-05-03 06:59:53

+0

谢谢 - 这也适用于rails 4.1.1 – 2015-04-29 08:57:04