0
자, 여기 내 코드가 있습니다.사용자 정의 속성을 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
이있다? 얼마나 많은 질문이 있는지와 함께 확장 될 수 있도록 동적이어야합니다. 나는이 같은 것을 내 params에 원한다.
{
user_answers: {
question1: {
:question_id
:answer
{
}
}
이 얼마나 많은 질문에 따라서는 radio_button 답을 수행 할 때 question_id으로 수행 할 것입니다 .. question1, 2, 3, 4 등 같은
hidden_field 갈 것입니다. 나는 그것을 구할 필요가 없다. 나는 그들에게 접근 할 필요가있다.
안녕
f.radio_button
와 스택 오버플로에 오신 것을 환영합니다. 멋지다 - 좋아 보인다. 그래서 나는'each_with_index'를 사용하여 시작할 것이다. (당신은 당신이 어떤 답을했는지 알기 때문에) 그리고 form-field의 이름의 일부로 인덱스를 사용한다. 예 :'<% = f.hidden_field "question_id _ # {idx}", : value => q.id %>' –고마워! 방금 추가 한 결과, 라디오 버튼에 대해 <% = f.radio_button "answer # {index + 1}", a %>'를 추가했지만 정의되지 않은 메소드 오류가 발생했습니다. @quiz에 대한 속성이 아니기 때문에 "answer # {index + 1}"이 (가) 있기 때문입니다. 어떻게 그 일을 할 수 있을까요? – LeongZeno
발견 한대로'form_for' 버전 대신'_tag' 버전을 사용합니다 :) –