Ошибка имени неинициализированного постоянного модуля рельсов

У меня есть приложение рельсы в том, что у меня есть модули внутри /app/adapters/UDB/ папка. Модуль не загружается. Я добавил следующее в application.rb

config.autoload_paths += Dir["#{config.root}/app/adapters/**/*"]

Я вызываю модуль из файла модели /models/userinvite.rb

   def update_cassandra
    ypusers = UDB::YpRewards.new.ypusers
    ypusers.execute("UPDATE invitation_backlog SET invitation_code = '#{invitation_code}', invitation_sent_date = #{invitation_sent_date.to_i * 1000}, invited_by = '#{invited_by}' WHERE email_address = '#{email}'")
   end

/app/adapters/UDB/yp_rewards.rb

   module UDB
   class YpRewards
     def initialize

     end
     def ypusers
        @ypusers ||= UDB::Connection.new.connection.connect('ypusers')
     end
   ...

Пожалуйста, помогите мне решить это.

2 ответа

Попробуйте включить модуль в модель UserInvite,

include UDB

Это хороший сайт, чтобы узнать больше о размещении и использовании модулей.

Я думаю, что проблема с именем модуля.

Ваше имя модуля - UDB, затем вы можете загрузить этот модуль, указав его имя строчными буквами в соответствии с соглашением об именах rails (camelcasing)

 config.autoload_paths += %W( #{config.root}/app/adapters/u_d_b)
Другие вопросы по тегам