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" 

假设你有以下脚手架:事件,类别和面板,就应该所有的工作

+0

你有没有定义sort_criteria? – varatis

+0

它被定义在我的问题 – EastsideDeveloper

+0

nope中的链接指向的jquery_dropdown_helper.rb中...仔细检查源代码 – varatis

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')

+0

是的,当然,我添加了评论太快。 hidden_​​field_tag是一个Rails帮助器方法,它允许我在Request中添加一个字段,在这种情况下是sort_criteria。 我做了你建议的修改(加:),但现在我得到以下错误: 未定义的方法'gsub'为:sort_criteria:符号 – EastsideDeveloper

+0

我看了一下跟踪,好像这条线在jquery_dropdown_helper.rb是问题:id = options [:id] || “#{field.gsub(/ [\ [\] \ s] /,' - ')} - 选择器” – EastsideDeveloper

+0

这不能是一个符号,因为gsub不在符号上。作为一个字符串,它可以工作,但我下载的实际库不起作用。而不是我期待看到的下拉菜单,我得到以下内容:Admin .................... – EastsideDeveloper