Весь день я борюсь с получением данных из ассоциаций. У меня есть эти 3 модели:
Пользователь
has_many :user_cars
Автомобиль
has_one :user_cars
Автомобиль пользователя
belongs_to :car
belongs_to :user
В таблице user_cars есть столбцы
user_id
car_id
Я имею в виду отчет обо всех автомобилях и для каждого автомобиля, который я хотел бы распечатать, если у текущего пользователя, вошедшего в систему, есть автомобиль.
Я пытаюсь сделать это как:
<% @user_cars.car.name%>
Но это дает мне ошибку
undefined method `car' for #<ActiveRecord::Relation:0x0000012edc14a8>
Я хотел бы спросить вас - есть ли у меня уже ошибка в ассоциациях или во взгляде?
ИЗМЕНИТЬ:
<% @cars.each_with_index do |car, i|%> #loop through all cars in the system
#in the every loop I would like to print, if the user has this one
<% @user_cars.each do |c| %> #through the loop I can get it, but I think is not efficient
<li><%= c.car.name %></li>
<% end %>
<% end %>
each
. 09.02.2012@ user_cars = UserCar.where(:user_id => current_user.id)
10.02.2012