Я работаю над приложением в Rails, которое имеет учителей и учеников.Я хочу перечислить всех пользователей, которые принадлежат учителю, а затем позволить учителю выбрать учащегося для отправки сообщения.У меня есть модель сообщения, которая имеет: content и: user_id для params.Я хочу установить: user_id на основе выбранного студента.Вот мой код:
<% @students = Student.all %>
<% @students.each do |student| %>
<% if student[:teacher_id] == @current_user.id %>
<%= radio_button 'student', 'id', student.id %>
<%= student.name %>
<% @current_student = Student.find(student.id) %>
<% end %>
<% end %>
<%= form_for Message.new do |f| %>
<%= f.text_area :content, class: 'messageTextarea' %> <br>
<%= f.hidden_field :user_id, :value => @current_student.id %>
<%= f.submit %>
<% end %>
Итак, я переключаю всех учеников и печатаю тех, у кого тот же идентификатор, что и у текущего пользователя (учителя), с помощью переключателя.Значение переключателя - это идентификатор студента.Затем я хочу передать это значение: user_id сообщения, чтобы затем его можно было извлечь для просмотра студентом.
В настоящее время этот код всегда передает значение последнего указанного ученика, а не выбранного ученика.Как я могу изменить
<% @current_student = Student.find(student.id) %>
, чтобы найти выбранного ученика, а не последнего?
Я проверял этот код, используя
<%= f.hidden_field :user_id, :value => @current_user.id %>
, и это сработало,но мне не нужен идентификатор current_user, конечно.Спасибо за любую помощь!