2016-04-22 66 views
0

我在Rails 4.2.2应用程序中使用(凌乱)Bootstrap主题。当我输入localhost:3000时,我的index.html.erb视图中的所有内容都完美加载。当我尝试在另一个页面上使用“后退”按钮(root_path)查看同一个index.html.erb视图时,我得到了localhost:3000,但只有导航栏加载了,并且在服务器中出现了以下错误日志。当我刷新同一页(localhost:3000)时,一切正常。Rails4:资产管道(javascripts)路由错误

我运行bundle exec rake assets:clean assets:预编译并重新启动服务器,没有任何更改。

我在做什么错?我不明白为什么一些JS文件正在工作,而且我得到这两个特定的JS文件的错误 - 或者为什么一切正常刷新。

谢谢。

PS编辑:我正在部署到Heroku,但在开发和Heroku都失败了,所以希望在dev中修复应该足够了。

服务器日志

ActionController::RoutingError (No route matches [GET] "/javascripts/modernizr-custom.js"): 
. 
. 
. 
ActionController::RoutingError (No route matches [GET] "/js/jquery.magnific-popup.js"): 

index.html.erb:

<%= javascript_include_tag "modernizr-2.8.3.min" %> 
<%= javascript_include_tag "articles" %> 
<%= javascript_include_tag "bootstrap" %> 
<%= javascript_include_tag "bootstrap.min" %> 
<%= javascript_include_tag "classie" %> 
<%= javascript_include_tag "comments" %> 
<%= javascript_include_tag "html5shiv" %> 
<%= javascript_include_tag "jquery-1.10.2" %> 
<%= javascript_include_tag "jquery.corner" %> 
<%= javascript_include_tag "jquery" %> 
<%= javascript_include_tag "jquery.magnific-popup" %> 
<%= javascript_include_tag "modernizr-2.8.3.min" %> 
<%= javascript_include_tag "modernizr-custom" %> 
<%= javascript_include_tag "owl.carousel" %> 
<%= javascript_include_tag "PIE_IE678" %> 
<%= javascript_include_tag "script" %> 
<%= javascript_include_tag "stickUp.min" %> 
<%= javascript_include_tag "uiMorphingButton_inflow" %> 
<%= javascript_include_tag "welcome" %> 
<%= javascript_include_tag "wow.min" %> 

assets.rb:

#Javascripts 
Rails.application.config.assets.precompile += %w(application.js) 
Rails.application.config.assets.precompile += %w(articles.coffee) 
Rails.application.config.assets.precompile += %w(bootstrap.js) 
Rails.application.config.assets.precompile += %w(bootstrap.min.js) 
Rails.application.config.assets.precompile += %w(classie.js) 
Rails.application.config.assets.precompile += %w(comments.coffee) 
Rails.application.config.assets.precompile += %w(html5shiv.js) 
Rails.application.config.assets.precompile += %w(jquery-1.10.2.js) 
Rails.application.config.assets.precompile += %w(jquery-1.9.1.min.js) 
Rails.application.config.assets.precompile += %w(jquery.corner.js) 
Rails.application.config.assets.precompile += %w(jquery.js) 
Rails.application.config.assets.precompile += %w(jquery.magnific-popup.js) 
Rails.application.config.assets.precompile += %w(modernizr-2.8.3.min.js) 
Rails.application.config.assets.precompile += %w(modernizr-custom.js) 
Rails.application.config.assets.precompile += %w(owl.carousel.js) 
Rails.application.config.assets.precompile += %w(PIE_IE678.js) 
Rails.application.config.assets.precompile += %w(PIE_IE9.js) 
Rails.application.config.assets.precompile += %w(script.js) 
Rails.application.config.assets.precompile += %w(stickUp.min.js) 
Rails.application.config.assets.precompile += %w(uiMorphingButton_inflow.js) 
Rails.application.config.assets.precompile += %w(welcome.coffee) 
Rails.application.config.assets.precompile += %w(wow.min.js) 

的application.js

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

两个jquery.magnific-popup.js和Modernizr的,custom.js都在我的JavaScript文件夹中。

回答

1

听起来像这个问题可能是turbolinks。它会影响你的页面状态。如果你不认为你的应用可以通过使用AJAX来加快页面渲染的效果,那么你也可以删除它。

More info about Turbolinks

+0

这解决了问题,现在页面加载正常。谢谢! – Noob005