Mam dziwny problem, związany z modułami. Mianowicie mam taką strukturę
app/
models/
user/
roles.rb
user.rb
I kolejno w roles.rb mam
module User::Roles
extend ActiveSupport::Concern
ADMIN = 'admin'
ROLES = [ADMIN]
def admin?
roles.include?(ADMIN)
end
end
No i model w users.rb
class User < ActiveRecord::Base
include User::Roles
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
has_many :data_set_users, class_name: DataSetUser, dependent: :delete_all
validates_length_of :name, in: 3..32
end
Oczywiście w config/application.rb
config.autoload_paths += %W(
#{config.root}/lib
#{config.root}/app/facades
#{config.root}/app/models/**/*
#{config.root}/app/decorators
)
a aplikacja wykłada mi się z informacją
/home/damian/i4b/DataSynchronizatorMS/trunk/DataSynchronizatorMS/app/models/user.rb:2:in `<class:User>': uninitialized constant User::Roles (NameError)
Jakieś propozycje jak zmusić aplikację aby nie rzucała mi wyjątkiem tylko includowała dany moduł do klasy?
Pozdrawiam.