错误的参数类型类(预期的模块)

时间:2015-07-08 18:56:48

标签: ruby-on-rails class model-view-controller module

我是铁杆新手。我的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

我的names_helper文件代码(此文件是我的lib目录)

class NamesHelper
  def func
  end
end

1 个答案:

答案 0 :(得分:1)

首先关注你的问题,

Does that mean that all the classes in the lib directory have to be embedded inside a module ? - 不,没必要。

除非存在名称冲突,否则您解释的代码应该可以正常工作。这已经将NamesHelper定义为一个模块(无论是构建中的Rails还是您在应用中定义的)。请确保这一点。

我猜这里的问题类似https://stackoverflow.com/a/26256737/5076451