Мне нужно создать модель соединения под названием CarStoreTracker для Car и Store, в которой оба имеют множество друг друга.
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 и просто использовал имя Tracker для модели, и все работает.
Что происходит?Какое соглашение по именам для Rails в этом случае?