Мне нужно создать модель объединения CarStoreTracker для Car and Store, у которой есть много друг от друга.Rails 3.1 Модель с has_many через 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
Non из них работают. NameError: неинициализированная константа «CURRENTMODEL» :: Carproducttracker
Итак, я отказался от CarProductTracker, и я просто использовал имя Tracker для модели, и все работает.
Что происходит? Что такое соглашение о названиях для Rails в этом случае?
Спасибо за подсказку. Трудно было это выяснить. –