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

У меня есть приложение rails, в котором есть модули внутри папки /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
   ...

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


person rmn.nish    schedule 15.02.2016    source источник


Ответы (2)


Думаю, проблема в названии модуля.

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

 config.autoload_paths += %W( #{config.root}/app/adapters/u_d_b)
person Dias    schedule 15.02.2016

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

include UDB

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

person Sravan    schedule 15.02.2016