Dave
2006-Jun-16 14:55 UTC
[Rails] Getting an error on options_groups_from_collection_for_select
Hi, I''m very new with Ruby and Rails. I have read Agile Web Development with Rails and was trying to create a grouped selection list by following his example on page 359. My helper looks like this: module LoginHelper AssocOption = Struct.new(:code_name, :display_name) class AssocType attr_reader :type_name, :options def initialize(name) @type_name = name @options = [] end def <<(option) @options << option end end none = AssocType.new("NONE") none << AssocOption.new("None", "None") none << AssocOption.new("All", "All") dr = AssocType.new("DOCTORS") dr << AssocOption.new("Dr. Dave", "Dave Smith") dr << AssocOption.new("Dr. Dan", "Daniel Jones") dr << AssocOption.new("Dr. Mike", "Michael Smith-Jones") co = AssocType.new("COMPANIES") co << Assoc.Option.new("Company_1", "Company_1") co << Assoc.Option.new("Company_2", "Company_2") ASSOCIATION_OPTIONS = [ none, dr, co ] end My View looks like this: <select name="user[associationl]" id="user_association"> <%option_groups_from_collection_for_select(ASSOCIATION_OPTIONS, :options, :type_name, :code_name, :display_name, @user.association) %> </select> The error message I''m getting is this: uninitialized constant ASSOCIATION_OPTIONS Extracted source (around line #23): 20: --> 21: <select name="user[level]" id="user_level"> 22: <%23: option_groups_from_collection_for_select(ASSOCIATION_OPTIONS, 24: :options, :type_name, 25: :code_name, :display_name, 26: @user.level) My question: Didn''t I initialize ASSOCIATION_OPTIONS in the helper? What did I do wrong and how to I get the group select to work? I tried to follow exactly what I read in the book, but it doesn''t seem to work, so I''m assuming I did something wrong, I just can''t quite see what it is. Any suggestions? Thanks, Dave