2011-07-06 24 views
0

まだこのエラーが発生しています。Paymentshopはモデルです。ビューでRails 3 - 初期化されていない定数設定:: Paymentshop

class Setting < ActiveRecord::Base 
    has_many :paymentshops 
end 


class PaymentShop < ActiveRecord::Base 
    belongs_to :setting 
end 

私は、この行に問題があります。

dopr.paymentshops.type_v 

doprからのデータがtype_vを設定すると、変数であるテーブルにPaymentshops列です。私は誰もがこのエラーで私を助けてください可能性がある場合、お聞きしたいと思い

... おかげ

答えて

0

Railsは自動的にリレーション名からモデル名を推測しようとします。単一の小文字の文字ストリームを破棄する場所が示されていないため、ターゲットモデルはPaymentshopsと仮定されています。

予想されるクラス名をhas_many :paymentshops, :class_name => "PaymentShop"で明示的に上書きできます。代わりに、has_many :payment_shopsを試してみることもできます.Railsが関係名をどのように変更するかは100%わかりませんが、PaymentShopに直接マップする必要があります。

+0

あなたの答え、Chowlettに感謝します。 'has_many:payment_shop'で編集しましたが、元のエラーは出ませんでしたが、今は' 'の'未定義メソッド 'type_v 'を取得していますが、なぜ' type_v'カラムが存在するのか分かりませんテーブル 'payment_shops' – user1946705

+0

' has_many'は、あなたのクラスが、言及された型の多くを持っていることを示していることに注意してください。したがって、 'dopr.payment_shops'は' type_v'を呼び出すことのできる単一のPaymentShopではなく、PaymentShopsのArrayのようなオブジェクトです。 (私の謝罪、私は私の答えでタイプミスをした; has_many:payment_shopsでなければならない) – Chowlett

関連する問題