Dropdown menus

Environment: Rails 3.2.3

This is my first attempt at doing a dropdown menu in a Rails application. I tried looking for help on the topic, but what complicated things is that the term dropdown menu is used for actual dropdown menu (page menu), as well as what is dropdown lists, form options, form selections, etc.

I found a pointer to GitHub - dkeskar/rails-jquery-dropdown: Rails tag and options helpers for constructing jQuery drop-down and hierarchical menus., and following the instructions, I downloaded jquery_dropdown_helper.rb: ) and placed it in /lib

In my Gemfile, I have the following:

gem 'jquery-rails'

I downloaded jquery_dropdown_helper.rb: GitHub - dkeskar/rails-jquery-dropdown: Rails tag and options helpers for constructing jQuery drop-down and hierarchical menus.) and placed it in /lib

In _header.html.erb, I have the following:

<% require 'jquery_dropdown_helper' %> .... <%= hidden_field_tag :sort_criteria %> <%= dropdown_tags :sort_criteria, 'Select Criteria',     %w(Category Status Amount-High Amount-Low) %>

Here's the error code I'm getting:

undefined method `gsub' for :sort_criteria:Symbol

Any ideas?

Attached is the jquery_dropdown_helper.rb

Attachments: http://www.ruby-forum.com/attachment/7541/jquery_dropdown_helper.rb

I think you are using gsub on symbol which is the reason you are thrown this error. Pass the string to the function instead of symbol:

<%= dropdown_tags “sort_criteria”, ‘Select Criteria’, %w(Category Status Amount-High Amount-Low) %>

aash dhariya wrote in post #1066730:

I think you are using gsub on symbol which is the reason you are thrown this error. Pass the string to the function instead of symbol: <%= dropdown_tags "sort_criteria", 'Select Criteria',    %w(Category Status Amount-High Amount-Low) %>

) and placed it in /lib <% require 'jquery_dropdown_helper' %>

You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.

-- Thanks, Aash

Yes, gsub as a method is not going to act on a symbol. However, when I switch to string, instead of seeing a dropdown menu, I see the following: note that I changed the name of the hidden tag). Any pointers to dropdown menu examples that do not force to do a deep dive into JQuery?

<a id="admin_menu_selection-selector" class="fg-button fg-button-icon-right ui-widget ui-corner-all ui-state-default" href="#admin_menu_selection-selector-items" tabindex="0" > <span class="ui-icon ui-icon-triangle-1-s"></span>Admin</a> <div id="admin_menu_selection-selector-items" class="hidden" ><ul><li><a href="#" value="Category">Category</a></li> <li><a href="#" value="Status">Status</a></li> <li><a href="#" value="Amount-High">Amount-High</a></li> <li><a href="#" value="Amount-Low">Amount-Low</a></li></ul></div> <script type="text/javascript"> jQuery('#admin_menu_selection-selector').menu({ content: jQuery('#admin_menu_selection-selector-items').html(), flyOut: true, posX: 'left', posY: 'bottom', directionV: 'down', maxHeight: 400, detectV: false, showSpeed: 350, chooseItem: function(selection) { jQuery('#admin_menu_selection-selector').html( '<span class="ui-icon ui-icon-triangle-1-s"></span>' + jQuery(selection).text() ); var vid = jQuery(selection).attr('value'); jQuery('#admin_menu_selection').attr('value', vid); (vid); } }); </script>