2013-06-20 108 views
0

我有一个RoR项目,其中有几个资产,我不希望它们在生产模式下被预编译。这些资产由JS/CSS文件复合,目前它们被放置在app/assets/javascript/ism /下。不能预编译某些资产 - Rails

其实,它是我不想编译的整个ism文件夹。虽然在开发模式下,将这些文件保留在其中以便与它们一起工作是有用和舒适的,但在生产模式下它们不应该在那里。在生产模式下,这些文件全部被编译(外部)在由S3 ant服务的单独文件中,而不是来自RoR/Nginx。外部编译的文件甚至是手动链接的,而不是由RoR链接。

<script type="text/javascript" src="http://s3.blabla.com/file_compiled.js"></script> 

那么,最好的方法是什么?

回答

2

这并不完美,但是您可以通过将ism目录移出资产管道并静态提供它们来阻止编译这些文件。例如,将/app/assets/javascript/ism/移动到/public/ism/

如果你不想让这些文件生产,你​​可以简单地将public/ism/*添加到你的.gitignore文件(假设你正在使用git)。

+0

这就是我猜的。所以我应该手动将它们链接到.html中我想放置它们的位置,不应该吗?听起来不错。我甚至应该在条件语句中包含这些链接以避免它们处于生产模式。 另一方面,我想在Git中忽略它们,但我在小组中工作。因此,这些文件必须同步... –

+1

是的,可以工作,在布局模板,可能是这样的: '<%if Rails.env.development? %> <% end %>' – Pete