0

CarとStore用のCarStoreTrackerという結合モデルを作成する必要があります。Rails 3.1モデルwith has_many with Naming Issue - ThisIsModelName.rb

class Car < ActiveRecord::Base 
    has_many :carstoretrackers  # It seems to work 
    has_many :stores, :through => :carstoretrackers # I bet the naming is not being recognized by Rails convention 
end 

class Store < ActiveRecord::Base 
    has_many :carstoretrackers  # It seems to work 
    has_many :cars, :through => :carstoretrackers # Same issue 
end 

class CarStoreTracker < ActiveRecord::Base 
    belongs_to :store 
    belongs_to :car 
end 

私は実行するとCarStoreTrackerは

car_id and store_id on its table. 

があります

> CarStoreTracker.first.car 
> CarStoreTracker.first.store 

彼らは仕事の両方。それらの

しかし

Store.first.cars Car.first.stores Store.carstoretrackers Car.carstoretrackers

以外は動作します。 NameError:初期化されていない定数 "CURRENTMODEL" :: Carproducttracker

CarProductTrackerを廃止しました。モデルのトラッカーという名前を使用しました。

何が起こっているかこの場合のRailsの命名規則は何ですか?

答えて

5

has_manyと他の関係を定義するときは、各単語の後に下線を付ける必要があります。

だからそれはだろう:car_store_trackers

+0

チップのおかげで。それを見つけるのは難しかったです。 –