【问题标题】:How should I define a user's email in the model?我应该如何在模型中定义用户的电子邮件?
【发布时间】:2013-02-28 20:18:07
【问题描述】:

我有一个玩具网络应用程序,其中我的用户的用户名也是他们的电子邮件地址(采用典型的“<username>@<host>”格式)。我正在尝试创建一种方法来计算模型中用户的电子邮件地址为User#email,但我需要访问URL() 辅助方法来执行此操作,该方法在模型模块中不可用。

有没有办法从内部模型访问 web 应用绑定到的根路径?

【问题讨论】:

    标签: ruby camping


    【解决方案1】:

    URL() 使用请求来确定主机,但您的模型也应该在请求之外可用(例如在控制台中)。在这种情况下,我建议将其全局存储在某个地方:

    module App
      EMAIL_HOST = "hello.com"
    end
    
    module App::Models
      class User
        def email
          "#{username}@#{App::EMAIL_HOST}"
        end
      end
    end
    

    【讨论】:

    • 那么有没有办法通过另一层(例如 Rack)“神化”根?我尝试使用 ENV,但它也不适用于模型。
    • 并非如此。如果电子邮件地址依赖于请求,则它不属于模型。而是创建一个助手。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 2012-11-09
    • 2019-08-02
    • 2011-05-19
    相关资源
    最近更新 更多