2017-04-06 163 views
0

我遇到了rails 5.0.2和asset-pipeline問題。我只是試圖將文件放在供應商文件夾中,然後在Application.js和.css文件中引用它們。Ruby on Rails資產管道(找不到文件)

我不斷收到以下錯誤 Sprockets::FileNotFound

Showing /Users/user/Ruby/app_name/app/views/layouts/application.html.erb where line #16 raised: 

couldn't find file 'pages-plugins/bootsrapv3/css/bootstrap.min' with type 'text/css' 
Checked in these paths: 
/Users/user/Ruby/app_name/app/assets/config 
/Users/user/Ruby/app_name/app/assets/images 
/Users/user/Ruby/app_name/app/assets/javascripts 
/Users/user/Ruby/app_name/app/assets/stylesheets 
/Users/user/Ruby/app_name/vendor/assets/javascripts 
/Users/user/Ruby/app_name/vendor/assets/stylesheets 
/Users/user/.rvm/gems/ruby-2.3.1/gems/jquery-rails-4.3.1/vendor/assets/javascripts 
/Users/user/.rvm/gems/ruby-2.3.1/gems/coffee-rails-4.2.1/lib/assets/javascripts 
/Users/user/.rvm/gems/ruby-2.3.1/gems/actioncable-5.0.2/lib/assets/compiled 
/Users/user/.rvm/gems/ruby-2.3.1/gems/turbolinks-source-5.0.0/lib/assets/javascripts 
/Users/user/Ruby/app-name/vendor/pages 
Extracted source (around line #15): 

* BEGIN VENDOR CSS FOR PAGES 
*= require pages-plugins/pace/pace-theme-flash 
*= require pages-plugins/bootsrapv3/css/bootstrap.min 
*= require pages-plugins/font-awesome/css/font-awesome 
*= require pages-plugins/jquery-scrollbar/jquery.scrollbar 
*= require pages-plugins/bootstrap-select2/select2 

正如你可以看到/Users/user/Ruby/app_name/vendor/pages文件路徑上面列出的路徑列表上方(列表的底部)「託運」。

完整的文件路徑爲/Users/user/Ruby/app_name/vendor/pages/pages-plugins/

不知道如果我失去了一些東西明顯?我試圖在application.rb文件中註冊資產,我也嘗試將它們移到app/assets /目錄中,但沒有運氣。

回答

1

供應商資產應放置在/vendor/assets/javascripts/vendor/assets/stylesheets - 將那些非常普通的資產置於/pages/pages-plugins/似乎過於複雜和愚蠢。

但是有bootstrap,font-awesome和許多流行庫的「gemified」版本。使用它們通常比將供應商代碼包含在存儲庫中更好,因爲更新依賴關係會導致在版本歷史記錄中產生大量噪音和流失。

另一個巨大的優勢是,「寶石版本」在開發中使用了資產的非微觀形式,使得調試變得更加簡單。