Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails项目中CSS的组织方法_Ruby On Rails_Css - Fatal编程技术网

Ruby on rails Rails项目中CSS的组织方法

Ruby on rails Rails项目中CSS的组织方法,ruby-on-rails,css,Ruby On Rails,Css,我想知道在Rails项目中组织CSS代码的最佳方法是什么? 我感兴趣的是如何做到这一点以及原因。通常,您不应该让客户端下载大量CSS片段,而是将它们打包到服务器上的单个文件中,以避免呈现延迟。因此,您需要权衡将功能划分为多个文件,以便只向客户端发送一个文件 您可以将每段代码放在一个include文件中,然后将它们全部包含在一起。这给了你混合(有点像宏)和变量的额外优势 另一种可能是使用纯CSS,并使用类似于打包的东西发送到客户端 关于实际设置,我倾向于使用一个文件将样式重置为已知默认值,一个文件

我想知道在Rails项目中组织CSS代码的最佳方法是什么? 我感兴趣的是如何做到这一点以及原因。

通常,您不应该让客户端下载大量CSS片段,而是将它们打包到服务器上的单个文件中,以避免呈现延迟。因此,您需要权衡将功能划分为多个文件,以便只向客户端发送一个文件

您可以将每段代码放在一个include文件中,然后将它们全部包含在一起。这给了你混合(有点像宏)和变量的额外优势

另一种可能是使用纯CSS,并使用类似于打包的东西发送到客户端


关于实际设置,我倾向于使用一个文件将样式重置为已知默认值,一个文件用于基本布局(列、默认空间等),一个文件用于特定设计的每个关注区域(标题、按钮等)

如果您想在开发过程中将css分解为多个文件,您可以将缓存=>true添加到样式表链接标签中,rails将在生产过程中自动将它们连接到单个文件中。这也适用于javascript\u include\u标记


詹姆斯和霍尔格的回答非常好

除了在我的项目中组织CSS外,我还不得不多次更改配色方案。。 尝试在许多CSS文件中进行一致的更改可能会非常痛苦(结果可能会有所不同)

最后,我稍微扩展了Rails的启动过程,添加了一个自定义模块“site_settings.rb” 通过它,我可以为颜色和其他CSS属性定义变量,然后我可以在整个CSS输入文件中使用它

每当Rails启动,并且其中一个输入文件发生更改时,它就会自动生成CSS文件


由于Rails 3.1已经推出,链轮取代了Jammit,这里摘录了Rails指南中有关资产组织的内容:

资产组织 资产可以放在应用程序中的三个位置之一:应用程序/资产、库/资产或供应商/资产。

  • app/assets用于应用程序拥有的资产,如自定义图像、JavaScript文件或样式表

  • lib/assets用于您自己的库的代码,这些代码实际上不适合应用程序的范围或跨应用程序共享的库

  • 供应商/资产是指由外部实体拥有的资产,例如JavaScript插件代码


只是一些建议,使用jammit对其进行优化。你是指在文件夹中组织css文件还是css文件本身的内容结构?我指的是内容结构。