2013-05-08 55 views
2

我使用Rails 3.2.9,並且在部署應用程序之前(使用Capistrano)在本地預編譯我的資產管道,並且它工作良好。我用:使用Rails在本地預編譯資產管道3.2.9

bundle exec rake assets:precompile 

在 「config」 目錄,我只修改deploy.rbproduction.rb。現在,在開發模式下,當我在/app/assets/javascripts/application.js中添加新代碼時,我看不到應用程序中的更改。

例如,我使用jQuery的多選這種方式:

$("#question_number").multiselect({ 
    multiple: false, 
    header: false, 
    show: "blind", 
    hide: "blind", 
    minWidth: "200", 
    selectedList: 1 
}); 

預編譯之前,選擇變化的圖形,但現在仍是一個傳統的HTML選擇。我認爲問題在於預編譯,因爲我採用了源代碼預編譯和新的jQuery多選。我試圖做一個新的預編譯,但沒有任何改變。

回答

1

運行rake assets:clean,清理瀏覽器緩存並重新加載頁面。這應該爲你解決問題。

另請參閱:Rails won't load asset pipeline瞭解更多詳情。

+0

我的第一步是刪除資產目錄並檢查配置,但沒有任何變化。我遵循你的建議:現在我在應用程序中丟失了所有jQuery主題。我做了一個新的預編譯,我不斷地看到所有在html中的選擇。 – Lorenz 2013-05-08 10:35:56

+0

您是否在使用capistrano進行部署之後在您的開發者機器或其他機器上進行驗證?基本上,RAILS_ENV在哪裏觀察問題?如果是開發,他們嘗試不用預編譯你的資產。 – pungoyal 2013-05-08 10:39:49

+0

對不起,問題出在我的開發者機器上。我必須升級到我的應用程序,我現在不能使用jQuery。 – Lorenz 2013-05-08 10:43:24

0

命令rake assets:clean作品不錯,非常感謝Puneet。

未來,更多關注什麼變成資產管道文件,比如application.js。

對我而言,只有一個改變帶來了問題。

+0

絕對。永遠不會更改生成的資產文件。永遠:) – pungoyal 2013-05-08 18:38:12