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 https://github.com/dkeskar/rails-jquery-dropdown,
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:
https://github.com/dkeskar/rails-jquery-dropdown) 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>