Ruby on rails 在没有任何gem的情况下将编译后的引导加载到rails中

Ruby on rails 在没有任何gem的情况下将编译后的引导加载到rails中,ruby-on-rails,twitter-bootstrap,Ruby On Rails,Twitter Bootstrap,在没有任何gem的情况下,将twitter引导导入rails最干净的方法是什么? 到目前为止,我一直在手动将css/js文件复制到vendor/assets/javascripts,vendor/assets/stylesheet require 'fileutils' task :bootme do compiled_bootstrap = 'lib/bootstrap/bootstrap' FileUtils.cp_r(compiled_bootstrap + '/css/.',

在没有任何gem的情况下,将twitter引导导入rails最干净的方法是什么? 到目前为止,我一直在手动将css/js文件复制到
vendor/assets/javascripts
vendor/assets/stylesheet

require 'fileutils'

task :bootme do
  compiled_bootstrap = 'lib/bootstrap/bootstrap'
  FileUtils.cp_r(compiled_bootstrap + '/css/.', 'vendor/assets/stylesheets/')
  FileUtils.cp_r(compiled_bootstrap + '/img/.', 'vendor/assets/images/')
  FileUtils.cp_r(compiled_bootstrap + '/js/.', 'vendor/assets/javascripts/')
end

有没有一种方法可以在不将文件移动到单独文件夹的情况下执行此操作?

您可以在
vendor/assets/twitter bootstrap
中查看所有CSS和JS

然后在
app/assets/javascripts/application.js
中:

//=require_tree ../../../vendor/assets/twitter-bootstrap
在你的
app/assets/stylesheets/application.css中:

*= require ../../../vendor/assets/twitter-bootstrap
对于像图像这样的非JS或CSS资产进入非标准目录,在
config/application.rb
或特定于环境的配置中,您可以使用:

# can add more than one path string or regexp(s)
config.assets.precompile += ['../../../vendor/assets/twitter-bootstrap/*.png']

推荐的方法是为您的资产使用维护良好的gem,或者继续将供应商JS和CSS资产分别放在
vendor/assets/javascripts
vendor/assets/stylesheets
中。

您可以将所有CSS和JS放在
vendor/assets/twitter bootstrap

然后在
app/assets/javascripts/application.js
中:

//=require_tree ../../../vendor/assets/twitter-bootstrap
在你的
app/assets/stylesheets/application.css中:

*= require ../../../vendor/assets/twitter-bootstrap
对于像图像这样的非JS或CSS资产进入非标准目录,在
config/application.rb
或特定于环境的配置中,您可以使用:

# can add more than one path string or regexp(s)
config.assets.precompile += ['../../../vendor/assets/twitter-bootstrap/*.png']

推荐的方法是为您的资产使用维护良好的gem,或者继续将供应商JS和CSS资产分别放入
vendor/assets/javascripts
vendor/assets/stylesheets

我将引导复制到
lib/bootstrap

我正在使用
makebootstrap
编译它,然后运行rake任务将编译后的文件复制到
vendor/assets

require 'fileutils'

task :bootme do
  compiled_bootstrap = 'lib/bootstrap/bootstrap'
  FileUtils.cp_r(compiled_bootstrap + '/css/.', 'vendor/assets/stylesheets/')
  FileUtils.cp_r(compiled_bootstrap + '/img/.', 'vendor/assets/images/')
  FileUtils.cp_r(compiled_bootstrap + '/js/.', 'vendor/assets/javascripts/')
end

我将引导复制到
lib/bootstrap

我正在使用
makebootstrap
编译它,然后运行rake任务将编译后的文件复制到
vendor/assets

require 'fileutils'

task :bootme do
  compiled_bootstrap = 'lib/bootstrap/bootstrap'
  FileUtils.cp_r(compiled_bootstrap + '/css/.', 'vendor/assets/stylesheets/')
  FileUtils.cp_r(compiled_bootstrap + '/img/.', 'vendor/assets/images/')
  FileUtils.cp_r(compiled_bootstrap + '/js/.', 'vendor/assets/javascripts/')
end

如果你想使用下载版,而不是gem,这是唯一的方法。考虑用资产路径改变CSS中的图像路径。如果您想使用下载的版本,而不是GEM,这是唯一的方法。考虑用资产路径改变CSS中的图像路径。有点难看,但它可能会起作用。虽然我最终可能会创建一个rake任务来编译文件并将它们复制到
供应商/资产中
是的,但它看起来很难看,因为这不是标准的操作方式。如果您打算对引导程序等进行大量调整,那么在供应商中使用代码是一个好主意。如果你不会经常在浏览器外触摸它或看它,那就重新考虑把它放在一块宝石里。如果你想完全控制它,你甚至可以为它制作你自己的gem,关于如何做到这一点,有很多例子,例如,如果你阅读了这个外部博客链接,请注意,你也不必将它推送到Rubygems——你可以在gem的本地源处拥有bundle point,或者让它指向GitHub或其他repo。祝你好运。另外,Josh Peek在这里使用bower作为将JS引入供应商的另一种方式:他们添加了bower component.json,要求在Sprocket v2.6.0中提供支持。这有点难看,但可能会奏效。虽然我最终可能会创建一个rake任务来编译文件并将它们复制到
供应商/资产中
是的,但它看起来很难看,因为这不是标准的操作方式。如果您打算对引导程序等进行大量调整,那么在供应商中使用代码是一个好主意。如果你不会经常在浏览器外触摸它或看它,那就重新考虑把它放在一块宝石里。如果你想完全控制它,你甚至可以为它制作你自己的gem,关于如何做到这一点,有很多例子,例如,如果你阅读了这个外部博客链接,请注意,你也不必将它推送到Rubygems——你可以在gem的本地源处拥有bundle point,或者让它指向GitHub或其他repo。祝你好运。另外,Josh Peek在这里使用bower作为将JS引入供应商的另一种方式:他们添加了bower组件。Sprocket v2.6.0中需要支持json。