2013-03-25 36 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