rails3中的模块名称冲突

时间:2012-02-09 09:06:41

标签: ruby-on-rails ruby module

我在rails 3 app的lib目录中有一个名为Resume的模块。

现在我还有一个名为Resume的模型,它有2列,名称和版本。

当我转到rails控制台并键入以下内容以从模型

创建新的Resume对象时
> Resume.new(:name => "somename", :version => "someversion")

我收到以下错误

NoMethodError: undefined method `new' for Resume:Module

只有在将Resume模块文件添加到lib目录后才会启动此错误。 1.这是模块名称冲突吗? 2.我如何解决它。

1 个答案:

答案 0 :(得分:1)

您应该命名模块以避免这种冲突:

module MyRailsApp
  module Resume
    ...
  end
end

然后,当您想要使用Resume模块时,请像MyRailsApp::Resume一样使用它。