带有保留关键字的模型

Cam*_*tin 9 ruby ruby-on-rails

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

Kon*_*che 8

模块解决了这个问题:

模块是一种将方法,类和常量分组在一起的方法.模块为您带来两大好处:

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

[...]

模块定义了一个命名空间,一个沙箱,你的方法和常量可以在其中播放,而不必担心被其他方法和常量踩到.

在你的情况下:

module MyRailsApp
  class File
  ...
  end
end
Run Code Online (Sandbox Code Playgroud)

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