2013-05-08 57 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