0

我有一个 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
   ...

请帮我解决它。

4

2 回答 2

0

尝试在您的 UserInvite 模型中包含该模块,

include UDB

这是一个很好的站点,可以更多地了解模块的放置和使用。

于 2016-02-15T06:03:57.360 回答
0

我认为问题出在模块名称上。

您的模块名称是 UDB,然后您可以通过根据 rails 命名约定(camelcasing)以小写字母指定其名称来加载此模块

 config.autoload_paths += %W( #{config.root}/app/adapters/u_d_b)
于 2016-02-15T05:24:39.873 回答