ruby on rails - simple_form association not working as expected -


i have simple_form building form responseset. response set collection of responses questionnaire (which has_many questions). question can have many answers. (it's complicated, know). when attempting render out radio buttons answers particular question, none of radio buttons selected though there answers related response. changing as: :check_boxes seems work correctly. bug w/ simpleform?

= simple_form_for @response_set |rs|   = rs.simple_fields_for :responses |r|     - if r.object.question.class <= question::singlechoice       = r.association :answers, as: :radio_buttons, collection: r.object.question.answers, label_method: :text, label: false 

response_set.rb

class responseset < activerecord::base   has_many :responses   accepts_nested_attributes_for :responses end 

response.rb

class response < activerecord::base   belongs_to :question   has_and_belongs_to_many :answers   belongs_to :response_set   has_many :questions,     through: :answers   accepts_nested_attributes_for :answers end 

questionnaire.rb

class questionnaire < activerecord::base   has_many :response_sets end 

answer.rb

class answer < activerecord::base   has_many :responses   belongs_to :question end 

question.rb

class question < activerecord::base   has_many :responses,     through: :answers   has_many :answers end 

try adding :selected option association. example:

= r.association :answers,    as: :radio_buttons,    collection: r.object.question.answers,    label_method: :text,    label: false,    selected: r.object.question.answers.select {|ans| ans.responses.any? } 

also, if need build lot of questionnaires/surveys (especially if they're complicated), i'm huge fan of surveyor gem, though default css ugly.


Comments

Popular posts from this blog

html - How to style widget with post count different than without post count -

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

javascript - storing input from prompt in array and displaying the array -