5

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

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

4

2 回答 2

9

metadata_types因为表名很好。从那里,你可以做

> "metadata_types".classify
=> "MetadataType"

所以 MetadataType 将是 rails 期望的类名。

这也适用于反向:

> "MetadataType".tableize
=> "metadata_types"
于 2012-06-25T19:17:48.000 回答
3

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

该方法相当简单,可以在这里找到:http: //api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-pluralize代码

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

于 2012-06-25T19:16:14.637 回答