Rails非正统命名模型与缩写

在我正在构建的应用程序中,我使用acts_as_tree关联将XML文件存储在我的数据库中。 我想将类命名为XMLElement但由于大写是非标准的,因此抛出了rails。 它正在从文件名xml_element.rb 。 我尝试将文件名更改为x_m_l_element.rb ,试图让它认为“XML”实际上是两个单词,但这也不起作用。 我应该简单地使用名称XmlElement而不是更理想的XMLElement ,还是有更好的解决方法?

公约超过配置人。 吸吮它。

将以下内容添加到config/initializers/inflections.rb

 ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.acronym 'XML' end 

现在运行$ rails g model XMLElement…将在名为XMLElement的文件和关联的表xml_elements创建一个名为XMLElement的类。

是的,你应该使用XmlElement。

不仅仅是这个例子,而且关于应用程序的每个方面,它都不会为了转移惯例而付出代价。 在Rails的引擎盖下有太多的“魔力”,这是不值得的。