0

我试图在我的 Rails 应用程序中删除一些代码,这些代码允许在使用过滤器创建对象时设置唯一的 id。我在多个位置都有它,它似乎应该在一个模块中。

现在我在每个模型中都有这样的东西。

  def set_uid
    self.uid = SecureRandom.uuid
  end

我在 /lib 目录中的 uid_generator.rb 文件中包含了一个新文件,并将该模块包含在每个模型中。

//model   
include UidGenerator

module UidGenerator
  def set_uid
    self.uid = SecureRandom.uuid
  end
end

然而,在我的测试中,这会产生错误

uninitialized constant MODELNAME::UidGenerator (NameError).
4

1 回答 1

3

您只需要为您的 rails 应用程序配置自动加载路径。这里有些东西可能会有所帮助。从 Rails 3 中的 lib 文件夹加载模块/类的最佳方法?

于 2012-09-14T06:05:38.573 回答