То, что вы попробовали в последний раз, должно было сделать это, если все они имеют разные значения в теге имени. Эта проблема возникает, когда тег имени разных полей содержит одно и то же значение. Давайте рассмотрим приведенный ниже пример -
<% (0..5).each do |a| %>
<%= hidden_field_tag "patient_uid", a, class: "patient_uid" %>
<% end %>
. В этом случае он всегда будет отправлять последнее поле со значением 5. Но если вы измените его, как показано ниже -
<% (0..5).each do |a| %>
<%= hidden_field_tag "patient_uid_#{a}", a, class: "patient_uid" %>
<% end %>
, тогда все поля будут отправлены, поскольку все они имеют различное значение в теге имени.
Пожалуйста, проверьте и проверьте, указан ли тег имени в l oop все одинаковы. Сделайте каждый из них уникальным, и это должно решить вашу проблему.
Для второго редактирования ваших вопросов
Если вы хотите, чтобы они были в массиве, вы должны сделать имя тег в то, что может принимать массив значений. Попробуйте следующее -
<% (0..5).each do |a| %>
<%= hidden_field_tag "patient_uid[]", a, class: "patient_uid" %>
<% end %>
Таким образом, он вставит все значения в массив, и вы можете получить доступ к массиву как params[:patient_uid]
.