环境:Rails 3.2.3
我正在编辑这个问题以包含帮助模块的源代码,以及这里的建议:
这是我第一次尝试在 Rails 应用程序中创建下拉菜单。我尝试寻求有关该主题的帮助,但复杂的是术语下拉菜单用于实际的下拉菜单(页面菜单),以及问题中的下拉列表,表单选项,表单选择等是什么,以及论坛,很难找到我正在寻找的信息。
我找到了指向https://github.com/dkeskar/rails-jquery-dropdown的指针(源代码在帖子末尾)并按照说明下载了 jquery_dropdown_helper.rb: ) 并将其放在 /lib
在我的 Gemfile 中,我有以下内容:
gem 'jquery-rails'
在 _header.html.erb 中,我有以下内容:
<% require 'jquery_dropdown_helper' %>
....
<%= hidden_field_tag :sort_criteria %>
<%= dropdown_tags :sort_criteria, 'Select Criteria',
%w(Category Status Amount-High Amount-Low) %>
但这不起作用。这是我得到的错误代码:
undefined method `gsub' for :sort_criteria:Symbol
我查看了跟踪,似乎 jquery_dropdown_helper.rb 中的这一行是问题所在:
id = options[:id] || "#{field.gsub(/[[]\s]/, '-')}-selector"
有任何想法吗?
下拉菜单问题的解决方案
我正在寻找一种在我的 rails 应用程序中使用下拉菜单的方法,但无法得到这个问题的答案。经过几天的研究,我确实找到了一个解决方案,使用 Twitter gem 'twitter-bootstrap-rails'。
将以下内容添加到您的 Gemfile 中:
gem 'twitter-bootstrap-rails'
将以下内容添加到您的 app/assets/javascripts/application.js
确保它按照这个确切的顺序:
//= require jquery
//= require jquery_ujs
//= require_tree .
//= require bootstrap
然后,在您想要下拉菜单的地方,添加以下内容:
<ul class="nav nav-pills">
<li class="dropdown" id="admin_menu">
<a class="dropdown-toggle" data-toggle="dropdown" href="#admin_menu">
ADMIN
</a>
<ul class="dropdown-menu">
<% Admin_menu.each do |menu_text,menu_action| %>
<li><a href=" <%= menu_action %>"><%= menu_text %></a></li>
<% end %>
</ul>
</li>
</ul>
请注意,我有以下哈希:
Admin_menu = Hash.new
Admin_menu["Events"] = "events#index"
Admin_menu["Categories"] = "categories#index"
Admin_menu["Panels"] = "panels#index"
假设您有以下内容的脚手架:事件、类别和面板,它应该都可以工作