2

Stadiumwithという名前のモデルを作成してrails g model Stadiumいますが、Rails はテーブル名を に変換していますstadia

移行でテーブル名を手動で変更し、モデル クラスにstadium追加しました。set_table_name "stadium"しかし、私のルートはすべて を探していstadia_pathます。

私はrails g model Stadium --force-plural成功しませんでした。

これには屈折を使用する必要があると思いますが、この屈折を作成する方法がわかりません。スタジアムは単数ですが、このモデルには複数のスタジアムが必要です。

4

2 に答える 2

11

辞書には、「stadiums」と「stadia」の両方が正しいと書かれています (この単語がラテン語であることを考えると、「stadia」は -um で終わる中性単語の複数形としては正当なようです)。

これを config/initializers/inflections.rb に追加するだけです:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'stadium', 'stadiums'
end

ここではあらゆる種類の不規則複数形を設定できます。

古い世代を破壊する

rails d model Stadium

そしてそれを再び生成します

rails g model Stadium

次のようなファイルを魔法のように作成する方法がわかります。

db/migrate/20130330130335_create_stadiums.rb

その後、移行を実行すれば準備完了です!

于 2013-03-30T13:04:08.513 に答える
2

屈折については、次のようにする必要がありますconfig/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'stadium', 'stadiums'
end

それが役に立てば幸い!

于 2013-03-30T12:59:24.137 に答える