У меня есть модель оценки, например Rails Survey Gem (runtimerevolution), там учитель создает оценку MCQ для ученика. Его параметры находятся в типе переключателя. там один вариант правильный.Как сохранить выбранное значение переключателя в модели
Когда студент обращается за оценкой MCQ, он получает вопросник, на котором у Вопроса есть несколько вариантов, и студент выбирает один вариант с помощью переключателя.
Так что я просто хочу сохранить выбранный option_id относительно question_id в моей новой попытке модели.
Здесь применима страница MCQ для студентов.
<div class="stream-cont">
<%= form_tag(action: "apply") do %>
<% @mcq.questions.each_with_index do |q, i| %>
<div class="feed-cont-title all-header">
<p>
<%="Question-#{i+1}: "+ q.question %>
</p>
<p>
<strong>Answer : </strong>
<%=
collection_radio_buttons("questions[#{q.id}]", :option_id, q.options, :id, :option) do |b|
b.label(style: "display:block") { b.radio_button + b.text }
end
%>
</p>
</div>
<% end %>
<% end %>
<%= submit_tag "Submit Answer", :class => "typeD button" %>
</div>
здесь контроллер McQ
def apply
@club = current_user.clubs
if current_user.user_type == User::User_types[:student]
@mcq = Mcq.find(params[:id])
end
@attempt = current_user.attempts.new
@mcq = Mcq.find(params[:id])
@attempt = current_user.attempts.new(attempt_params)
@attempt.save
redirect_to attempt_id(@attempt.id), notice: "Thank you"
end
Private
def attempt_params
params.require(:attempt).permit(:user_id, :mcq_id, :question_id, :option_id)
end
end
это не является полным, и я знаю, что это неправильно. Я просто хочу знать, как я выбрал Option_id относительно question_id и сохранил это значение в столбце option_id модели try.
У меня есть идея, как управлять им и что следует использовать в поле зрения и контроллере.
Аналогичный подход, который я использовал, но я получаю ошибку - «Параметр отсутствует или значение пуст: попытка« В строке »params.require (: попытка) .permit (: user_id,: mcq_id, questions_attributes [: id,: option_id ]) ' –
Вероятно, это связано с тем, что option_id вложен в атрибуты вопросов. если вы полностью их вложите, как указано выше, у вас будут только: столбцы id для обоих вопросов и параметров. – joem