动作控制器:捕获异常 - turbolinks问题?

时间:2013-07-22 07:21:41

标签: ruby-on-rails railstutorial.org

我正在关注Michael Hartl的Rails指南,当我加载localhost:3000时,我在浏览器中收到以下错误消息:

 Sprockets::FileNotFound in Static_pages#home

 Showing /home/jonathan/Desktop/railsTut/sample_app/app/views/layouts/application.html.erb   where line #6 raised:

couldn't find file 'turbolinks'
 (in /home/jonathan/Desktop/railsTut/sample_app/app/assets/javascripts/application.js:16)

这是来自上述消息的文件

// This is a manifest file that'll be compiled into application.js, which will include     all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts,      vendor/assets/javascripts,
 // or vendor/assets/javascripts of plugins, if any, can be referenced here using a     relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the    bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE     SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .

另外,我不确定它是否相关,但这是我的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.13'
gem 'bootstrap-sass', '2.1'
gem 'bcrypt-ruby', '3.0.1'
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'bootstrap-will_paginate', '0.0.6'
gem 'jquery-rails', '2.0.2'

   group :development, :test do
    gem 'sqlite3', '1.3.5'
 gem 'rspec-rails', '2.11.0'
 # gem 'guard-rspec', '1.2.1'
 # gem 'guard-spork', '1.2.0'
 # gem 'childprocess', '0.3.6'
 # gem 'spork', '0.9.2'
   end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

group :development do
  gem 'annotate', '2.5.0'
end

group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '4.2.1'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
# gem 'launchy', '2.1.0'
# gem 'rb-fsevent', '0.9.1', :require => false
# gem 'growl', '1.0.3'
end

group :production do
  gem 'pg', '0.12.2'
end

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:6)

正如我所看到的,你的宝石文件中没有'turbolinks'...只需添加它! :

  • gem 'turbolinks'添加到您的Gemfile中。
  • 运行bundle install
  • //= require turbolinks添加到您的Javascript清单文件中(通常是 发现于app/assets/javascripts/application.js)。
  • 重启你的 服务器,你现在正在使用turbolinks!

答案 1 :(得分:3)

正如RomanDev说的那样,只要将它移除,除非像我一样,否则你试图驾驶涡轮螺栓。

在这种情况下,从您的application.js文件中删除//= require turbolinks

答案 2 :(得分:0)

我花了太长时间才意识到将gemolink添加到gemfile会解决这个问题。作为初学者,我也会通过Hartl的教程(显然)。