簡體   English   中英

由Rails部署時,jQuery fileupload函數不起作用

[英]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

有人有想法嗎?

如果它正在開發中,則存在兩個潛在問題:

  • 資產未預編譯
  • 生產環境不支持S3上傳

我將詳細介紹兩組修復程序:

-

資產

如果您收到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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM