Rails多字模型命名约定

时间:2012-06-25 19:13:10

标签: ruby-on-rails naming-conventions models

我的数据库中有一个名为metadata_types的查找表,其中列出了我的应用程序使用的所有各种类型的元数据。

元数据是Metadatum的复数形式;我应该调用表metadatum_types吗?换句话说,在这种情况下,多数应该是两个单词,还是只有第二个?那么相应的模型是否也应该是metadatum_type.rb(Class MetadatumType)?

2 个答案:

答案 0 :(得分:8)

表名的

metadata_types很好。从那里,你可以做到

> "metadata_types".classify
=> "MetadataType"

因此MetadataType将是rails期望的类名。

这也是相反的:

> "MetadataType".tableize
=> "metadata_types"

答案 1 :(得分:3)

metadatum_types很好。 Rails仅在模型名称的末尾应用复数。

该方法相当简单,可在此处找到: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-pluralizecode

可以在此处找到适用于名称的变形Rails:Inflector.rb