资产/样式表与公共/样式表

时间:2012-07-06 09:54:11

标签: stylesheet assets public blueprint

在M. Hartl的Rails 3教程的“层叠样式表”部分下,他提到将CSS蓝图目录复制到'public / stylesheets'文件夹中。我的stylesheets文件夹位于assets目录中。将蓝图目录复制到'assets / stylesheets'而不是'public / styleshets'是否合理?如果没有,你的建议可能是什么?如果是这样,你是否有任何特别的陷阱,你可能会建议我留意?

他明确建议使用Rails 3.0.1,尽管我运行的是3.2.6。我应该按照他的指示去标记,但我几乎不可能在我的Windows机器上运行环境(MySQL冲突等)...而且恰好这个版本最终为我工作了我跟着去了。

2 个答案:

答案 0 :(得分:1)

不要以为我知道我在说什么,因为我是RoR的新手,但是我在最后几个小时就在阅读资产管道后遇到了问题。我将分享一些我学到的可能有助于您构思的内容:

公共/中的任何内容都保持原样,并且服务器直接由Web服务器作为静态文件。关于公共/资产,有两点值得考虑:

1)他们没有获得预编译的好处,包括:

1a)指纹识别 - 将基于文件内容的md5哈希附加到文件名,以便在文件更改时文件名发生更改,从而强制缓存重新加载。如果文件可能在某一天发生变化(在您的情况下是蓝图的新版本),这非常有用。

1b)连接 - 预编译器可以/将多个CSS或JS文件组合成一个,这使得下载更快。 (究竟是什么文件被编译,有多少是可配置的。)

1c)缩小 - 预编译器删除空格(和其他聪明的优化)以缩小CSS / JS文件的大小。

2)我仍然试图弄清楚这一部分,但是/ app / assets中的某些东西是否通过预编译会影响辅助方法是否以及如何工作(例如asset_tag,image_tag和javascript_include标记,你使用它们在你的意见中。)

尽管我完全不合格,但我正在认真考虑在某个地方的wiki上启动我自己的Rails资产最佳实践页面以开始组织我的想法。我认为它非常缺乏 - 我不得不从许多地方挖掘出一些知识,而且人们建议我发现一些令人反感的东西(比如修改配置文件以预编译添加未经证实的资产)。

答案 1 :(得分:1)

我已将样式表文件复制到app / assets文件夹,它正常工作