Rails 4.1.1:lib/assets/javascripts中的JS文件无法加载

MSC*_*MSC 2 javascript ruby-on-rails

我有一个包含一个函数的小JS文件(common.js).我在application.js中有以下几行:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require jquery.readyselector
//= require common
//= require_tree .
Run Code Online (Sandbox Code Playgroud)

当我存储它时

app/assets/javascripts
Run Code Online (Sandbox Code Playgroud)

要么

vendor/assets/javascripts
Run Code Online (Sandbox Code Playgroud)

文件已正确加载,但当我将其移动到

lib/assets/javascripts
Run Code Online (Sandbox Code Playgroud)

它停止工作,我得到错误:

Sprockets::FileNotFound
couldn't find file 'common'
(in C:/Sites/rails_studio/beatjoe/app/assets/javascripts/application.js:21)
Run Code Online (Sandbox Code Playgroud)

我的Rails.application.config.assets.paths所有这些都是:

- C:/Sites/rails_studio/myappname/app/assets/images
- C:/Sites/rails_studio/myappname/app/assets/javascripts
- C:/Sites/rails_studio/myappname/app/assets/stylesheets
- C:/Sites/rails_studio/myappname/lib/assets/javascripts
- C:/Sites/rails_studio/myappname/vendor/assets/fonts
- C:/Sites/rails_studio/myappname/vendor/assets/images
- C:/Sites/rails_studio/myappname/vendor/assets/javascripts
- C:/Sites/rails_studio/myappname/vendor/assets/stylesheets
- C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/turbolinks-2.3.0/lib/assets/javascripts
- C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/jquery-rails-3.1.2/vendor/assets/javascripts
- C:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/coffee-rails-4.0.1/lib/assets/javascripts
Run Code Online (Sandbox Code Playgroud)

根据文档,不仅应该包括common.js

//= require common
Run Code Online (Sandbox Code Playgroud)

但也被抓住了

//= require_tree .
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Jor*_*lan 5

Sprockets::FileNotFound通过在本地服务器运行创建lib/assets/javascript目录,我能够重现错误.您似乎需要重新启动服务器以获取目录更改.

既然您的服务器已经重新启动,您应该能够在不重新启动服务器的情况下将文件添加到目录中.