Мне нужно создать повторно используемое расширение Devise. Это мой первый опыт создания драгоценных камней. Итак, согласно источникам других расширений Devise, я начал с создания файла devise_sms_authenticatable.rb в папке 'lib' со следующим кодом:
# encoding: utf-8
unless defined?(Devise)
require 'devise'
end
Devise.add_module :sms_authenticatable, :model => 'devise_sms_authenticatable/model'
Кроме того, я создал папку devise_sms_authenticatable в папке 'lib' и добавил model.rb с кодом:
# encoding: utf-8
module Devise
module Models
module SmsAuthenticatable
# ...
end
end
end
В конце концов, я добавил свое новое расширение в модель Пользователь .
class User << ActiveRecord::Base
devise ..., :sms_authenticatable
end
Но приложение падает с ошибкой uninitialized constant Devise::Models::SmsAuthenticatable (NameError)
. Что я делаю не так?