Tag: 开发环境

Ruby On Rails 3.1 – 资产管道 – 资产呈现两次

大更新 : 当我终于找到真正的解决方案时,我也发现了真正的问题。 正如我在这里写下了很多无用的信息,考虑到真正的问题,我正在对问题进行大量更新,以便其他人可以轻松找到正在发生的事情,并且可以看到解决方案。 问题 :这是因为Rails 3.1的资产管道 实际上……这很简单:资产在开发环境中呈现两次。 做了很多调查,我发现我的Rails 3.1服务器正在从“app / assets”和“public / assets”文件夹中呈现资产。 所以,我把每个.js和.css文件都复制了,这打破了我所有的javascript动画(是的……绑定两次相同的事件和处理程序到同一个元素不是你想要的……通常)。 如果问题突然出现,那是因为我必须运行“rake assets:precompile”来部署我的应用程序。 从那时起,当我的应用程序在开发中运行时,服务器正在呈现静态预编译资产和动态预编译资产。 解决方案(现在有一个更好的几行) – 但你仍然可以阅读它 第一个:我只需要从公共文件夹中删除所有预编译资产。 更好的一个:将config.serve_static_assets = false添加到development.rb,这将阻止从/ public / assets加载文件。 另外,不要忘记重置浏览器缓存。 [编辑:2012年7月20日] 高级一:由于这些静态资产,我最近遇到了一个新问题。 您知道,当您使用paperclip或其他某些gem时,他们会将您的图像添加到某个系统子文件夹的公共文件夹中,因为如果您想使用capistrano部署应用程序,则会更好。 嗯,那太好了,但是! 当我们添加config.serve_static_assets = false时,这些图像不会在开发中呈现,如果你想对它们做一些css则不好。 所以! 该怎么办? 事实上,你必须像开发一样开启静态资产: # Expands the lines which load the assets config.assets.debug = true config.serve_static_assets = true 然后,为防止rails两次渲染其他资源(预编译的资源),只需执行以下命令: rake […]