我已经一遍又一遍地检查了代码,但似乎找不到下拉菜单为何不起作用的原因。因此,我看不到下拉菜单中的链接是否正常运行。此外,标头现在会切断。任何帮助是极大的赞赏。这是我的代码。

_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>


会话控制器

class SessionsController < ApplicationController
  def new
  end

  def create
    user = User.find_by(email: params[:session][:email].downcase)
    if user && user.authenticate(params[:session][:password])
     log_in user
     redirect_to user
    else
    flash.now[:danger] = 'Invalid email/password combination'
    render 'new'
    end
    end

  def destroy
  end
end


会话助手

module SessionsHelper
    def log_in(user)
        session[:user_id] = user.id
    end
    def current_user
        @current_user ||= User.find_by(id: session[:user_id])
    end
    def logged_in?
        !current_user.nil?
    end
end


application.js

//= require jquery
//= require bootstrap
//= require jquery_ujs
//= require turbolinks
//= require_tree .


宝石文件

source 'https://rubygems.org'

gem 'test-unit'

gem 'rails-perftest'

gem 'minitest'

gem 'bcrypt'

gem 'coffee-script-source', '1.8.0'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.0'
# Use sqlite3 as the database for Active Record
gem 'bootstrap-sass'

gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# 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'
  gem 'sqlite3'
  # Use SCSS for stylesheets
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
  gem 'spring'
end

group :test do
  gem 'minitest-reporters'
  gem 'mini_backtrace'
  gem 'guard-minitest'


group :production do
  gem 'pg'
  gem 'rails_12factor'
end

end

最佳答案

您是否已在custom.css.scss文件顶部添加了这两行?

@import“ bootstrap-sprockets”;
@import“引导程序”;

您的_header.html.erb在我的应用中正常运行。我在这里看到的唯一区别是您使用了:
宝石'bootstrap-sass'
我用:
gem'bootstrap-sass','3.2.0.0'

关于javascript - Hartl教程Ch。 8通过javascript的下拉菜单不会下拉,用户无法注销,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28532350/

10-12 17:17
查看更多