Rails的:下拉菜单
环境:Rails的3.2.3Rails的:下拉菜单
我编辑这个问题,包括辅助模块的源代码,并在此建议:
这是我在做一个下拉菜单中的第一次尝试一个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"
任何想法?
解下拉菜单ISSUE
我一直在寻找一种方式来有下拉菜单在我的Rails应用程序,但无法得到的回答这个问题。经过几天的研究,我确实找到了一个解决方案,使用Twitter gem'twitter-bootstrap-rails'。
以下内容添加到您的Gemfile:
gem 'twitter-bootstrap-rails'
以下内容添加到您的应用程序/资产/ Java脚本/ 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"
假设你有以下脚手架:事件,类别和面板,就应该所有的工作
jquery_dropdown_helper.rb不提供的方法称为sort_criteria。我认为,例如应该是:
<% require 'jquery_dropdown_helper' %>
....
<%= hidden_field_tag :sort_criteria %>
<%= dropdown_tags :sort_criteria, 'Select Criteria',
%w(Category Status Amount-High Amount-Low) %>
:sort_criteria只是形式元素的名称,并且可以是符号或字符串(即:sort_criteria或'sort_criteria')
是的,当然,我添加了评论太快。 hidden_field_tag是一个Rails帮助器方法,它允许我在Request中添加一个字段,在这种情况下是sort_criteria。 我做了你建议的修改(加:),但现在我得到以下错误: 未定义的方法'gsub'为:sort_criteria:符号 – EastsideDeveloper
我看了一下跟踪,好像这条线在jquery_dropdown_helper.rb是问题:id = options [:id] || “#{field.gsub(/ [\ [\] \ s] /,' - ')} - 选择器” – EastsideDeveloper
这不能是一个符号,因为gsub不在符号上。作为一个字符串,它可以工作,但我下载的实际库不起作用。而不是我期待看到的下拉菜单,我得到以下内容:Admin .................... – EastsideDeveloper
你有没有定义sort_criteria? – varatis
它被定义在我的问题 – EastsideDeveloper
nope中的链接指向的jquery_dropdown_helper.rb中...仔细检查源代码 – varatis