Ruby on rails 错误的参数类型类(应为模块)

Ruby on rails 错误的参数类型类(应为模块),ruby-on-rails,class,model-view-controller,module,Ruby On Rails,Class,Model View Controller,Module,我不熟悉rails。我的lib目录中有一个类,我正试图在控制器操作中创建该类的对象。这在加载视图时引发了一个错误,错误消息::“错误的参数类型类(预期模块)”。但是,如果我将我的类嵌入到一个模块中(lib目录中的同一个类),并创建一个类似module::classname.new的对象,它不会给我任何错误。这是否意味着lib目录中的所有类都必须嵌入到一个模块中 我的代码: 控制器代码: require 'names_helper' class NamesController < Appl

我不熟悉rails。我的lib目录中有一个类,我正试图在控制器操作中创建该类的对象。这在加载视图时引发了一个错误,错误消息::“错误的参数类型类(预期模块)”。但是,如果我将我的类嵌入到一个模块中(lib目录中的同一个类),并创建一个类似module::classname.new的对象,它不会给我任何错误。这是否意味着lib目录中的所有类都必须嵌入到一个模块中

我的代码:

控制器代码:

require 'names_helper'

class NamesController < ApplicationController
  def receive_names
    if request.post?
      NamesHelper.new.func()
    else
      puts "inside get"
    end
  end
end

首先在你的问题上

这是否意味着lib目录中的所有类都必须嵌入到模块中?
-不,这不是必需的

您解释的代码应该可以正常工作,除非存在名称冲突。已经将
NamesHelper
定义为模块(内置Rails或在应用程序中定义)。请确保这一点


我猜这里也有类似的问题

如果你发布了相关的代码,这将对你的案例有很大帮助(你是如何尝试实例化你的类的,以及你试图实例化第一个类的类是如何知道第一个类的——也就是说,你是否
需要
这个类?)。如果你发布代码,那么你就不会让人们浪费时间猜测。你还有NameHelper模块吗?(如果您使用其中一个生成器,Rails会为您创建这个)是的,我将我的类的名称更改为其他名称,并且成功了。谢谢
class NamesHelper
  def func
  end
end