У меня есть такая база данных:
users
-id
user_cars
-user_id
-car_id
cars
-id
-model
-color
Таким образом, у пользователя может быть несколько машин, а подробная информация об автомобилях находится в таблице больших машин.Я также создал модели со связями.
class User
has_many :user_cars
class User_car
belongs_to :user
belongs_to :cars
class Car
has_many :user_cars
Теперь я хочу получить доступ к информации обо всех автомобилях для одного пользователя.Мой первый подход заключается в том, чтобы получить хотя бы одну информацию (т.е. цвет) из таблицы машин.
Я попробовал эту, просто как пример для доступа к средней таблице:
@user_id = current_user.user_cars.find(1).user_id
работает!Но когда я пытаюсь получить доступ к таблице автомобилей, я всегда получаю сообщение об ошибке.
@color = current_user.user_cars.cars.find(1).color
undefined method `cars' for #<ActiveRecord::Relation:0xaf92e8c>
Поэтому я думаю, что я делаю что-то легкое, очень неправильное ...
Когда я знаю, как получить доступ ктретья таблица, я должен сделать это таким образом, чтобы я получал результаты только для пользователя, а не только для первой записи, может быть, вы, ребята, можете помочь мне с этим.Спасибо!