2017-07-29 3 views
0

私はMichael Hartl's Railsチュートリアル(RoR 5)を使って作業しており、Webアプリケーションの一部としてドロップダウンメニューを作成しようとしています。私はHartlの指示に注意深く従ってきましたが、ログイン後にページに実際に表示されるドロップダウンを得ることはできません。この同じ問題について議論しているStack Overflowの過去のスレッドは3年以上経過しています。参照されている宝石(および対応するソリューション)は旧式であり、Railsの最新バージョンには適用されないようです(このチュートリアルではバージョン5.1.2を使用しています)。Rails App/Bootstrap:ドロップダウンメニューを修正するには?

私は、以下の修正(何も働いていない、といくつかの原因エラー)試してみました:はじめ

  • を「jQueryのを必要とする」と記載されている順序を変更するapplication.js
  • に「jQueryの-UJSが必要です」その前に、または他のコンポーネントの使用
  • 後にそのブートストラップをロード$(文書).dropdown方法を含む新しいブートストラップ・ダウンロード

  • で廃止とすることができる、「ブートストラップ・ドロップダウンが必要です」 Webサーバの様々な時間

を再起動coffee.js文書

  • に私は非常に多くの(一般およびプログラミング)のRailsの初心者ですので、あなたが提供できる任意のアドバイスを感謝しています。ここで

    関連/便利なように見える文書である:

    GEMFILE

    source 'https://rubygems.org' 
    
    git_source(:github) do |repo_name| 
        repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") 
        "https://github.com/#{repo_name}.git" 
    end 
    
    
    # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
    gem 'rails', '~> 5.1.2' 
    #bcrypt for password hashing 
    gem 'bcrypt',   '3.1.11' 
    #Boostrap-Sass 
    gem 'bootstrap-sass', '3.3.7' 
    
    # Use Puma as the app server 
    gem 'puma', '~> 3.7' 
    # Use SCSS for stylesheets 
    gem 'sass-rails', '~> 5.0' 
    # Use Uglifier as compressor for JavaScript assets 
    gem 'uglifier', '>= 1.3.0' 
    # gem 'therubyracer', platforms: :ruby 
    
    # Use CoffeeScript for .coffee assets and views 
    gem 'coffee-rails', '~> 4.2' 
    gem 'turbolinks', '~> 5' 
    gem 'jbuilder', '~> 2.5' 
    # Use Redis adapter to run Action Cable in production 
    # gem 'redis', '~> 3.0' 
    # Use ActiveModel has_secure_password 
    # gem 'bcrypt', '~> 3.1.7' 
    
    # Use Capistrano for deployment 
    # gem 'capistrano-rails', group: :development 
    
    group :development, :test do 
        # Call 'byebug' anywhere in the code to stop execution and get a debugger console 
        gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 
        gem 'sqlite3', '1.3.13' 
        # Adds support for Capybara system testing and selenium driver 
        gem 'capybara', '~> 2.13' 
        gem 'selenium-webdriver' 
    
    end 
    
    group :development do 
        # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. 
        gem 'web-console', '>= 3.3.0' 
        gem 'listen', '>= 3.0.5', '< 3.2' 
        gem 'spring' 
        gem 'spring-watcher-listen', '~> 2.0.0' 
    end 
    
    group :test do 
        gem 'rails-controller-testing', '1.0.2' 
        gem 'minitest-reporters',  '1.1.14' 
        gem 'guard',     '2.13.0' 
        gem 'guard-minitest',   '2.4.4' 
    end 
    
    group :production do 
        gem 'pg', '0.18.4' 
    end 
    
    # Windows does not include zoneinfo files, so bundle the tzinfo-data gem 
    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 
    

    アプリ/ JavaScriptの/ application.js:

    //= require rails-ujs 
    //= require bootstrap 
    //= require turbolinks 
    //= require_tree . 
    

    _header.htmlが。 erb:

    <header class="navbar navbar-fixed-top navbar-inverse"> 
        <div class="container"> 
        <%= link_to "sample app", root_path, id: "logo" %> 
        <nav> 
         <ul class="nav navbar-nav navbar-right"> 
         <li><%= link_to "Home", root_path %></li> 
         <li><%= link_to "Help", help_path %></li> 
         <% if logged_in? %> 
          <li><%= link_to "Users", '#' %></li> 
          <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
           Account <b class="caret"></b> 
          </a> 
          <ul class="dropdown-menu"> 
           <li><%= link_to "Profile", current_user %></li> 
           <li><%= link_to "Settings", '#' %></li> 
           <li class="divider"></li> 
           <li> 
           <%= link_to "Log out", logout_path, method: :delete %> 
           </li> 
          </ul> 
          </li> 
         <% else %> 
          <li><%= link_to "Log in", login_path %></li> 
         <% end %> 
         </ul> 
        </nav> 
        </div> 
    </header> 
    

    アプリケーション/ビュー/レイアウト/ _rails_default.html.erb:私はマイケルのチュートリアルをやった

    <%= csrf_meta_tags %> 
    
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> 
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> 
    
  • 答えて

    0

    (2017年7月)私は宝石ファイルからすべてのバージョンを削除してしまいました。このようにして、レールはそれぞれの最新バージョンをロードするだけです。 だから変更:

    gem 'bootstrap-sass', '3.3.7' 
    

    にちょうど:あなたのgemfileの各宝石用

    gem 'bootstrap-sass' 
    

    など。
    古くなって互換性のないさまざまな宝石からこれを行う前に、私はあらゆる種類の奇妙なエラーを受けていました。
    幸運を祈る!

    関連する問題