How do I handle authentication with Devise when using multiple models in Rails 3.2 App

前端 未结 3 1642
萌比男神i
萌比男神i 2021-02-14 05:09

I\'m working on a Rails 3.2 app where I use Devise for authentication. I decided to try single table inheritance for managing user roles, but I quickly ran into a problem. I cur

3条回答
  •  傲寒
    傲寒 (楼主)
    2021-02-14 05:56

    You may separate all common logic to module and use only same table.

    module UserMethods
      #...
    end
    
    class User < ActiveRecord::Base
      include UserMethods
      devise ...
    
    end  
    
    class Admin < ActiveRecord::Base
      include UserMethods
      self.table_name = "users"
      devise ...
    end
    

    And configure all devise model separately in routes, views(if necessary, see Configuring Views). In this case, you may easy process all different logic.

提交回复
热议问题