[英]Jquery fileupload function not working when deployed by Rails
我正在使用jquery fileupload rails gem將文件直接加載到S3。 一切都可以在localhost正常運行,但是當部署到Heroku時,fileupload函數是未定義的。 我已經通過在production.rb中更改為config.assets.debug = true
來解決此問題,但是我想了解如何解決此問題,因此可以禁用此設置。 資產在部署前已進行預編譯。
我的application.js看起來像這樣:
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery-fileupload/basic
//= require bootstrap
//= require_self
//= require_directory
//require_tree .
//= require turbolinks
//= require jquery.fixedheadertable.min
有人有想法嗎?
如果它正在開發中,則存在兩個潛在問題:
我將詳細介紹兩組修復程序:
-
資產
如果您收到Javascript錯誤(“未知功能”等),則可能沒有可供應用參考的文件/功能。
當您在推向生產之前不對資產進行預編譯時,這是一個常見問題。 使用Heroku
自動預編譯資產,而“獨立”環境則不能:
$ rake assets:precompile RAILS_ENV=production
$ git add .
$ git commit -a -m "Precompiled Assets"
$ git push [[your_remote]]
如果您使用的是Capistrano (祝您好運),我認為其中有些方法包括預編譯,盡管它很粗略。 在控制台中使用上述代碼而無需推送到遠程存儲庫,將使您能夠在生產中使用預編譯的資產。
-
S3
另一個潛力是您的生產環境無法與S3連接。 您提到的並非如此; 對於許多想在生產ENV
訪問S3的人來說,必須設置ENV
變量才能使其正常工作。
更改方法取決於您的生產環境。 如果您使用的是Linux,則可以在etc/environment
設置變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.