代码之家  ›  专栏  ›  技术社区  ›  Dex

Rails 3中的混叠方法

  •  1
  • Dex  · 技术社区  · 14 年前

    我正在使用Devise进行身份验证,但我使用了两种用户模型,买方和卖方。

    默认情况下,Devise将生成两种方法,如当前买家和当前卖家。

    我想清理我的代码,在ApplicationController的prefore_过滤器中,我想将适当的方法别名为当前用户。

    在Rails 3中最好的方法是什么?

    2 回复  |  直到 14 年前
        1
  •  1
  •   PeterWong    14 年前

    我同意balexand的观点,即您应该有一个登录模型,并按角色将它们分开。

    但这取决于你,有办法通过使用方法做到这一点:

    def current_user
      current_seller || current_buyer
    end
    

    seller , buyer nil .

        2
  •  1
  •   balexand    14 年前

    但是,如果您真的只想在ApplicationController中为方法命名,可以这样做:

      private
      alias :current_user :current_seller
    

    或者如果你需要更有活力的东西,你可以用一种方法。