9

我想创建一个名为“文件”的模型,但它是一个保留的模型名称是 rails。我想不出任何其他理智来调用模型,所以我想知道是否有处理这个问题的标准方法,例如添加前缀或后缀(_File、FileItem 等)?

4

1 回答 1

8

此问题已通过模块解决:

模块是将方法、类和常量组合在一起的一种方式。模块为您带来两大好处:

  1. 模块提供命名空间并防止名称冲突。
  2. 模块实现了 mixin 工具。

[...]

模块定义了一个命名空间,一个沙箱,您的方法和常量可以在其中发挥作用,而不必担心被其他方法和常量踩到。

在你的情况下:

module MyRailsApp
  class File
  ...
  end
end

从而您的File课程被用作MyRailsApp::File. 这是 Ruby 中的典型解决方案,在 Ruby on Rails 中可能会有不同的处理方式,请参阅以下参考资料进行深入讨论:

于 2012-08-06T00:17:15.390 回答