5

私のデータベースには、metadata_types というルックアップ テーブルがあり、このテーブルには、アプリが使用するさまざまな種類のメタデータがすべてリストされています。

メタデータは Metadatum の複数形です。テーブル metadatum_types を呼び出す必要がありましたか? 言い換えれば、この場合、複数形は両方の単語にあるべきですか、それとも 2 番目の単語だけにあるのでしょうか? 対応するモデルも 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 ( code )

Rails が名前に適用する語形変化は、ここにあります: Inflector.rb

于 2012-06-25T19:16:14.637 に答える