我在网上购买了一个漂亮的Twitter Bootstrap,这将为我的Rails 3.2.8应用程序增添趣味。该软件包包含以下目录:
/css
/img
/js
当然这些文件中会有相对的链接。是否有将这种类型的东西整合到资产管道中的标准方法,还是将其公开的标准做法?
答案 0 :(得分:11)
您需要使用资产管道。一切都在向这个方向发展,而且实际上并没有任何困难(除非是这样)。您的文件将放在/app/assets/
目录中。
对于css,您应该能够将其直接放入app/assets/stylesheets/
,只需确保首先包含引导程序。有几个宝石可以很容易地包含bootstrap的文件。我使用bootstrap-sass,但您也可以尝试twitter-bootstrap-rails(取决于您是否需要sass支持)。使用其中任何一个,查看我链接的自述文件,因为它们包含了一些您希望了解每个gem的有用详细信息。
对于javascript,它应该是一回事。在您的application.js文件中,如果主题添加了任何自定义JavaScript,请确保引导包含之前 //= require_tree .
。我之前列出的两个宝石还包括bootstrap的javascript文件。您可以阅读他们的文档以查看详细信息(这两个宝石几乎完全相同)。
就图像而言,将它们放在app/assets/images/
目录中,您必须稍微更改样式表才能使其正常工作。在样式表中声明图像时,如background: url('./images/bg.jpg');
,您需要使用image_path
帮助程序,因此它看起来像background: url(image_path('bg.jpg'));
。请注意,我刚刚包含了图像的名称。资产管道会自动将其解析为正确的路径。
如果主题包含任何自定义字体,除了在@ font-face声明中使用asset_path
帮助器之外,您将执行与图像相同的操作:
url(asset-path('museo700.ttf', font));
您还可以使用特定于类型的帮助程序,例如font-path
,image-path
等。声明类型的asset-path
或特定于类型的帮助程序都可以使用,只需与你使用的那个一致,以免产生混淆。
您可以将自定义字体放在类似app/assets/fonts/
的目录中。资产管道将自动找到它们,因为它们位于资产目录中。