У меня есть 3 модели:Automaticly ассоциированные две модели рубин на рельсах
Student - Class - Avaliation
мне нужно, что, когда я ассоциировать студент с классом, студент altomatcly связан с одной лавинией для этого конкретного класса.
В классе много учеников. Студент относится ко многим классам Ученица имеет много цветов A Avaliation принадлежит одному ученику и одному классу.
Когда я открываю URL-адрес студенту, мне нужна лавина, чтобы его увидеть, поэтому я могу оценить ученика.
Как я могу это сделать?
Ok так что это мой routes.rb
resources :students do
resources :classrooms do
resources :avaliations
end
end
я могу получить студентов/1/классы/1/avaliation Но в моих студентов/показать страницу я попробовать это:
<p>
<b>Name:</b>
<%= @student.name %>
</p>
<h3>Class</h3>
<% @student.classrooms.each do |classroom| %>
<%= classroom.name %>
<% end %>
Но я получаю эту ошибку:
SQLite3::SQLException: no such column: classrooms.graded: SELECT "classrooms".* FROM "classrooms" INNER JOIN "avaliations" ON "classrooms"."id" = "avaliations"."classroom_id" WHERE "avaliations"."student_id" = 1 AND ("classrooms"."graded" = 't')
то, что: тертые suposed быть? Я новичок в рельсах и логике программирования. Я обновил вопрос, вы можете помочь? – Allan
Какова логика здесь? – Allan
В приведенном выше фрагменте кода «градуированный» должен быть столбец табличных оценок. Я обновил ответ на примере того, как выглядят ваши таблицы. – jack