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 に答える