[ruby-on-rails] Когда нужно использовать отношение «has_many: through» в Rails?


Answers

Скажем, у вас есть эти модели:

Car
Engine
Piston

Автомобиль has_one :engine
Двигатель belongs_to :car
Двигатель имеет has_many :pistons
Piston belongs_to :engine

Автомобиль has_many :pistons, through: :engine
Поршень has_one :car, through: :engine

По сути, вы делегируете отношение модели к другой модели, поэтому вместо того, чтобы звонить car.engine.pistons , вы можете просто сделать car.pistons

Question

Я пытаюсь понять, что has_many :through есть и когда использовать его (и как). Однако я не понимаю. Я читаю «Начало Rails 3», и я попробовал Google, но я не могу понять.






Related