2013-02-28 49 views
0

我有一個玩具webapp,其中我的用戶的用戶名也是他們的電子郵件地址(典型的「<username>@<host>」格式)。我試圖提供一種方法來計算模型中用戶的電子郵件地址爲User#email,但我需要訪問URL()幫助程序方法來完成此操作,這在「模型」模塊中不可用。我應該如何在模型中定義用戶的電子郵件?

有沒有一種方法可以從模型內部訪問Web應用程序綁定的根路徑?

回答

0

URL()使用請求來確定主機,但是您的模型也可以在請求之外使用(例如在控制檯中)。在這種情況下,我建議將它存儲在全球的某個地方:

module App 
    EMAIL_HOST = "hello.com" 
end 

module App::Models 
    class User 
    def email 
     "#{username}@#{App::EMAIL_HOST}" 
    end 
    end 
end 
+0

有什麼方法可以通過另一層「神聖」根,例如Rack,然後呢?我試圖使用ENV,但它不提供給模型。 – harbichidian 2013-03-01 00:19:30

+0

不是。如果電子郵件地址取決於請求,那麼它不屬於模型。改爲創建一個幫手。 – 2013-03-08 08:32:52

相關問題