4

Ruby on Rails を使用して、プレイするゲームの Web サイトを作成しています。

私はUserモデルとモデルを持っていStarbaseます。私がセットアップしようとしている関係はそうです

class User < ActiveRecord::Base
  has_many :starbases
end

class Starbase < ActiveRecord::Base
  belongs_to :user
end

ただし、スクリプト/コンソールを開いてユーザーのスターベースにアクセスしようとすると、エラーが発生します: NameError: uninitialized constant User::Starbasis.

語形変化に問題があり、レールがスターベースを正しく複数形化していないようです。

これを inflections.rb の intializers フォルダーに追加しようとしました。

ActiveSupport::Inflector.inflections do |inflect|
  inflect.plural 'starbase', 'starbases'
end

それでも問題は解決しません。これを機能させる方法について誰かアドバイスをいただけますか?

応援する

イーフ

4

2 に答える 2

5

逆屈折(つまり「単数」)の行を追加しようとしましたか:

 inflect.singular "starbases", "starbase"

コンソールであなたの例を試してみましたが、問題を引き起こしたのは特異化であり、その逆ではありませんでした。これで他の問題(ルートなど)が修正されるかどうかはわかりませんが、単純なものは修正されるはずです(と思います)。

于 2011-01-13T17:52:34.637 に答える