2013-02-28 81 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

相关问题