0
我有一個玩具webapp,其中我的用戶的用戶名也是他們的電子郵件地址(典型的「<username>@<host>
」格式)。我試圖提供一種方法來計算模型中用戶的電子郵件地址爲User#email
,但我需要訪問URL()
幫助程序方法來完成此操作,這在「模型」模塊中不可用。我應該如何在模型中定義用戶的電子郵件?
有沒有一種方法可以從模型內部訪問Web應用程序綁定的根路徑?
我有一個玩具webapp,其中我的用戶的用戶名也是他們的電子郵件地址(典型的「<username>@<host>
」格式)。我試圖提供一種方法來計算模型中用戶的電子郵件地址爲User#email
,但我需要訪問URL()
幫助程序方法來完成此操作,這在「模型」模塊中不可用。我應該如何在模型中定義用戶的電子郵件?
有沒有一種方法可以從模型內部訪問Web應用程序綁定的根路徑?
URL()
使用請求來確定主機,但是您的模型也可以在請求之外使用(例如在控制檯中)。在這種情況下,我建議將它存儲在全球的某個地方:
module App
EMAIL_HOST = "hello.com"
end
module App::Models
class User
def email
"#{username}@#{App::EMAIL_HOST}"
end
end
end
有什麼方法可以通過另一層「神聖」根,例如Rack,然後呢?我試圖使用ENV,但它不提供給模型。 – harbichidian 2013-03-01 00:19:30
不是。如果電子郵件地址取決於請求,那麼它不屬於模型。改爲創建一個幫手。 – 2013-03-08 08:32:52