2010-08-25 57 views
1

在公共文件夹中,我们有样式表,JavaScript和图像。在Rails中存储前端功能?

我想补充一点,有它自己的CSS,JS和图像的前端功能,但根据这个层次,我必须把它们存储这样的:

stylesheets/calendar/main.css 
javascripts/calendar/cal.js 
javascripts/calendar/cal2.js 
images/calendar/front.jpg 
images/calendar/button1.jpg 
images/calendar/button2.jpg 
images/calendar/button3.jpg 

我不喜欢我将所有功能分开。

有没有一种方法来组织每个功能的文件?

calendar/stylesheets/main.css 
calendar/javascripts/cal.js 
calendar/javascripts/cal2.js 
calendar/images/front.jpg 
calendar/images/button1.jpg 
calendar/images/button2.jpg 
calendar/images/button3.jpg 

这将是一个更好的结构,遵循OOP模式。

回答

3

正如其他人所说,你可以做任何你喜欢的事情。

这是目前我们所使用的系统:

/web/images 
/web/javascripts 
/web/stylesheets 

/mobile/images 
/mobile/javascripts 
/mobile/stylesheets 

/admin/etc 

顶级目录(/图像/ Java脚本/样式:内对应的“布局”,它们适用于目录

地方文件)用于真正常见的元素(如jquery,css重置脚本和标准徽标)。

客户端库软件包被保存在自己的目录中,而不是分散到标准的Rails目录中。这大大有助于长期维护。

使用颜色框为例:

不是:

/javascripts/colorbox.js 
/stylesheets/colorbox.css 

我们:

/web/libs/colorbox/colorbox.js 
/web/libs/colorbox/colorbox.css 
+0

你用手动加载它们:“stylesheet_link_tag“/网络/库/颜色框/ colorbox.css'“? – 2010-08-25 16:48:38

+0

实际上,使用asset_packager将所有内容合并到较少数量的文件中,并使用自定义stylesheet_link_tag来处理。 – 2010-08-25 22:05:39

1

您可以以任何您想要的方式在公用文件夹中组织东西。唯一不同的是,当您使用一些Rails助手处理公用文件夹中的文件路径时,您必须指定这些文件的位置(如果将它们移出默认位置)。

例如,在stylesheet_link_tag的情况下,你必须做一些事情,如:

stylesheet_link_tag '/calendar/stylesheets/main.css' 
2

雅,斯洛博丹·科瓦切维奇是正确的,

您可以组织到任何地方,

另一种方式要做的是,

stylesheet_link_tag "#{RAILS_ROOT}/calendar/stylesheets/main.css" 

按照这个程序当你遇到问题

stylesheet_link_tag '/calendar/stylesheets/main.css' 

您需要通过使用Helper方法以另一种方式进行优化。

从helper调用每个文件并在rails上使用它。