0

produccion_alternativaというモデルがあります。次のように、config/initializers/inflections.rb に新しい屈折規則を追加しました。

inflect.irregular('produccion_alternativa', 'producciones_alternativas')

produccion_alternativaと関係があるproductorと呼ばれる他のモデルがあります。

class Productor < ActiveRecord::Base
    has_many :producciones_alternativas


class ProduccionAlternativa < ActiveRecord::Base
    belongs_to :productor

productorのすべてのproducciones_alternativasを取得しようとすると、次のエラーが発生します。

irb(main):010:0> Productor.first.producciones_alternativas
NameError: uninitialized constant Productor::ProduccionesAlternativa

何か案は?どうもありがとうございました

4

3 に答える 3

1

他にも同じ問題を抱えている人が何人かいます。なぜこれが起こるのか答えが見つかりませんでした。それまでの間、これを試すことができます:

has_many :producciones_alternativas, :class_name => "ProduccionAlternativa"
于 2011-01-08T13:55:59.237 に答える
0

あなたの失敗は、あなたが両方の単語をhas_many連想して複数形にしたことです。使いました:

has_many :producciones_alternativas

しかし、クラス名に基づくとProduccionAlternativa、複数形はproduccion_alternativas最後の単語だけが複数形になっているためです。したがって、これは機能するはずです。

has_many :produccion_alternativas

"your_word".pluralizeRailsコンソールで単語タイプの複数形を確認するには!

于 2011-12-30T21:08:47.490 に答える
0

別の解決策も見つけました。inflection.rb に別のルールを追加しました。

inflect.irregular('ProduccionAlternativa', 'ProduccionesAlternativas')
inflect.irregular('produccion_alternativa', 'producciones_alternativas')

少なくとも、今では私が望むように機能しています。ありがとう。

于 2011-01-08T19:41:41.183 に答える