我正在使用Devise进行身份验证,但我使用的是两个用户模型,即买方和卖方。
默认情况下,Devise会生成两个方法,例如current_buyer和current_seller。
我想清理我的代码,在ApplicationController的before_filter中,我想将相应的方法别名为current_user。
在Rails 3中执行此操作的最佳方法是什么?
答案 0 :(得分:1)
通过拥有两个用户模型,您可能会使设计变得更加复杂。您可能需要考虑使用一个用户模型进行身份验证。然后,如果需要,您可以为买方和卖方设置角色。
但是如果你真的只想在ApplicationController中为方法添加别名,那么你可以这样做:
private
alias :current_user :current_seller
或者,如果你需要更动态的东西,你可以使用一种方法。
答案 1 :(得分:1)
我同意balexand你应该有一个登录模型,并按角色分开。
但这取决于你,并且有办法通过使用方法来实现:
def current_user
current_seller || current_buyer
end
这将返回seller
,buyer
或nil
。