从Devise用户创建客户

时间:2014-08-27 18:44:21

标签: ruby-on-rails devise

如何创建我想成为角色= 1的Devise用户的客户类。

我有我的用户模型:

class User < ActiveRecord::Base
  enum role: [:user, :customer, :admin, :producer]
  after_initialize :set_default_role, :if => :new_record?

  def set_default_role
    self.role ||= :user
  end

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable, :registerable
  devise :invitable, :database_authenticatable, :confirmable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
end

我的客户模型

class Customer < User

end

我可以在customersController中指定这样的客户是什么:

# GET /customers
def index
  @customers = Customer.where(:role => 1).page(params[:page])
end

但是如何修改我的客户模型以自己知道他是一个角色= 1的用户,所以我只能得到这样的客户:

@customers = Customer.all

1 个答案:

答案 0 :(得分:0)

如果你确实需要Customer.all,你应该寻找已经解决你想要做的事情的STI(单表继承)