我有一个问题Rolify。当我在shell中使用命令rake db:reseed时,要重置我的数据库,我有这个错误:
客户的未定义局部变量或方法`rolify':Class
这是我的模型与Rolify的代码:
class Customer
include Mongoid::Document
include Mongoid::Timestamps
rolify
embeds_one :contact
has_many :orders
devise :database_authenticatable, :recoverable, :registerable, :timeoutable, :validatable,
:token_authenticatable, :confirmable
attr_accessible :email, :password, :password_confirmation, :add_role
field :first_name
field :last_name
field :password
field :gender
field :confirmed_at
field :unconfirmed_email
field :confirmation_url
field :confirmation_token
field :confirmation_sent_at
field :email
field :encrypted_password
gender_regex = /^(Male|Female)$/
validates :first_name, presence: true, :allow_blank => true
validates :last_name, presence: true, :allow_blank => true
validates :password, presence: true
validates :gender, presence: true, :allow_blank => true,
format: { with: gender_regex }
end
如果你知道原因,请帮帮我:)。
答案 0 :(得分:0)
从您的rolify
型号中删除Customer
您需要按照https://github.com/EppO/rolify
您应该将其添加到Gemfile
而不是模型中
gem "rolify"
在要应用角色的资源模型中,您必须包括:
resourcify
我认为这是你的错误......
答案 1 :(得分:0)
回答可能会迟到,但是为了那些可能仍然面临这种问题的人。
我通过在模型中添加rolify和resourcify后重新启动我的服务器来修复此问题。