Ruby on rails 4 rails模块中的设置变量与预期不符

Ruby on rails 4 rails模块中的设置变量与预期不符,ruby-on-rails-4,Ruby On Rails 4,当我从默认模块运行此代码时,我希望它通过mattr_访问器设置变量: Jsonforem.user_class = "User" 然后运行foreman start,我的shell中出现以下错误: 22:49:40 web.1 | [44763] ! Unable to load application: NoMethodError: undefined method `user_class=' for Jsonforem:Module 以下是我的模块代码: require "jsonfo

当我从默认模块运行此代码时,我希望它通过mattr_访问器设置变量:

Jsonforem.user_class = "User"
然后运行
foreman start
,我的shell中出现以下错误:

22:49:40 web.1  | [44763] ! Unable to load application: NoMethodError: undefined method `user_class=' for Jsonforem:Module
以下是我的模块代码:

require "jsonforem/engine"

module Jsonforem

mattr_accessor :user_class, :user_profile_links, :email_from_address,
             :per_page, :sign_in_path, :moderate_first_post

def user_class
  if @@user_class.is_a?(String)
    begin
      Object.const_get(@@user_class)
    rescue NameError
      @@user_class.constantize
    end
  end
end

end
到目前为止,我唯一能让它工作的方法是:

module Jsonforem
  user_class = "User"
end
为什么上面的代码块可以工作,但我不能从模块外部设置变量?如果您需要上下文,我将按照这里的建议在ruby gem中设置配置变量:


干杯

您的模块在lib目录中的哪里?
您的模块应该在加载之前加载。
将其放入配置/初始值设定项中,然后重试

需要解决我的问题:

require "jsonforem"
Jsonforem.user_class = "User"

该模块位于包含的gem中。