0

环境: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"  

假设您有以下内容的脚手架:事件、类别和面板,它应该都可以工作

4

1 回答 1

0

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

于 2012-06-29T16:50:35.123 回答