我的数据库中有一个名为 metadata_types 的查找表,其中列出了我的应用程序使用的所有各种类型的元数据。
元数据是元数据的复数;我应该调用表 metadatum_types 吗?换句话说,在这种情况下,复数应该在两个词上,还是只在第二个词上?那么相应的模型是否也应该是 metadatum_type.rb(Class MetadatumType)?
我的数据库中有一个名为 metadata_types 的查找表,其中列出了我的应用程序使用的所有各种类型的元数据。
元数据是元数据的复数;我应该调用表 metadatum_types 吗?换句话说,在这种情况下,复数应该在两个词上,还是只在第二个词上?那么相应的模型是否也应该是 metadatum_type.rb(Class MetadatumType)?
metadata_types
因为表名很好。从那里,你可以做
> "metadata_types".classify
=> "MetadataType"
所以 MetadataType 将是 rails 期望的类名。
这也适用于反向:
> "MetadataType".tableize
=> "metadata_types"
metadatum_types 很好。Rails 仅在模型名称的末尾应用复数形式。
该方法相当简单,可以在这里找到:http: //api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-pluralize(代码)
可以在此处找到适用于 Rails 的变形名称:Inflector.rb