модули include ruby ​​без оператора include - как это реализовано? - PullRequest
1 голос
/ 03 февраля 2012

следующий код генерируется devise. Как мы можем просто использовать «devise» здесь, чтобы включить модули в мой класс User. Как здесь признается устройство? Я не вижу здесь никакого включения. Он включен в ActiveRecord?

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and     :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :name, :email, :password, :password_confirmation, :remember_me
end

1 Ответ

3 голосов
/ 03 февраля 2012

Когда вы загружаете Devise (возможно, через инициализатор Rails), он расширяет класс ActiveRecord :: Base с помощью Devise :: Model

См. Его в исходном коде devise .

ActiveRecord::Base.extend Devise::Models
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...