Satya's blog - Ruby on Rails and option_groups
Ruby on Rails rocks my socks again. I had a need for a drop-down with options from many "question sets". I did this in the controller: @disclosure_questions=QuestionSet.find(:all, :conditions => ['is_screener=?', false], :include => [:questions]) So QuestionSet was my outer collection, and each one has many questions, hence the include. Then in my view I did this:<select name="disclosure_id"> < option_groups_from_collection_for_select( @disclosure_questions, 'questions', 'title', 'id', 'number') %> <select> Which says, make option groups from the disclosure_questions, which is a collection of QuestionSet. The sub-groups are composed of questions, which is a method called on each QuestionSet (by virtue of has_many). title is an attribute of QuestionSet, and id and number are attribute of each question. More help at the Rails API site |
|