Итак, вот мой код.Как добавить пользовательские атрибуты в form_for?
<%= form_for @quiz do |f|%>
<% @questions.shuffle.each do |q| %>
# get_answers returns an array of 4 random answers
<% answers = q.get_answers %>
<%= f.label q.inquest %><br>
<% answers.each do |a| %>
<%= f.radio_button <need help here!>, a %>
<%= f.label <need help here!>, a %><br>
<%= f.hidden_field <need help here!>, q.id %>
<% end %>
<% end %>
<% end %>
моя викторина таблица имеет атрибуты
concept_id
user_id
как мне добавить пользовательские атрибуты, которые я могу иметь доступ к в посте действий? Он должен быть динамичным, чтобы он мог масштабироваться с количеством вопросов. Я хочу что-то подобное для моих параметров.
{
user_answers: {
question1: {
:question_id
:answer
{
}
}
В зависимости от того, сколько вопросов есть, он будет идти, как Question1, 2, 3, 4 и т.д ..
hidden_field будет носить с question_id в то время как radio_button будет нести ответ. Мне это не нужно, чтобы сохранить или что-то еще, мне просто нужен доступ к ним
Привет и добро пожаловать к переполнению стека. Cool - отлично выглядит. Поэтому я бы начал с использования 'each_with_index' (чтобы вы знали, какой ответ вы до этого) и используя индекс как часть имени поля формы. например '<% = f.hidden_field" question_id _ # {idx} ",: value => q.id%>' –
Спасибо! Я просто добавил, что я добавил «<% = f.radio_button» ответ # {index + 1} ", a%>' для переключателя, но я получаю неопределенную ошибку метода. Это потому, что '' answer # {index + 1} "' не является атрибутом для @quiz. Как мне заставить это работать? – LeongZeno
Как вы уже нашли, вы используете версии '_tag', а не только версии' form_for' :) –