Выберите объект соединения с учетом ассоциации, чтобы удалить - PullRequest
0 голосов
/ 08 сентября 2011

Я пытаюсь выяснить, как правильно удалить связь. Но это легче объяснить с помощью кода:

class ClassRoom < ActiveRecord::Base

class ClassJoin < ActiveRecord::Base
  belongs_to :class_room
  belongs_to :student

class Student < ActiveRecord::Base
  has_many :class_joins
  has_many :class_rooms, :through => :class_joins

# show.html.erb

  <% @student.class_rooms.each do |class_room| %>
    <%= class_room.name %><br/>
    <%= link_to "Remove class", student_class_join_path(@student,class_room.something), :method => :delete %>
  <% end %>

Как выбрать class_join, если я просто смотрю на ассоциацию has_many: through? Есть ли простой способ выбрать его или мне нужно сделать find_by_class_room_id_and_student_id (или что-то подобное).

Нашел похожий вопрос , но я хочу знать, если это более чистый способ сделать это.

1 Ответ

0 голосов
/ 08 сентября 2011
 <% @student.class_joins.each do |class_join| %>
    <%= class_join.class_room.name %><br/>
    <%= link_to "Remove class", student_class_join_path(@student,class_join), :method => :delete %>
  <% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...