我有一个典型的 Authlogic 设置,除了登录名和密码之外,我还需要对其进行增强以要求客户 ID。
我已经阅读了一些关于使用自定义 find 方法的内容和另一个关于使用全局变量访问附加参数的内容,第三个是关于使用似乎不存在的范围的文档。
看起来这应该很容易,但我似乎找不到正确的方法。
有人有解决方案吗?
我有一个典型的 Authlogic 设置,除了登录名和密码之外,我还需要对其进行增强以要求客户 ID。
我已经阅读了一些关于使用自定义 find 方法的内容和另一个关于使用全局变量访问附加参数的内容,第三个是关于使用似乎不存在的范围的文档。
看起来这应该很容易,但我似乎找不到正确的方法。
有人有解决方案吗?
在您的 UserSession 类中,添加:
find_by_login_method :find_by_customer_id_or_login
在您的用户类中,创建此客户查找器:
def self.find_by_customer_id_or_login(login)
User.find_by_customer_id(login) || User.find_by_login(login)
end
这是假设用户同时具有 customer_id 字段和登录字段。
通过迁移添加 customer_id 列,并在模型上添加 validate_presence_of :customer_id。它与authlogic没有任何关系。除非你想做更多的事情。