Ruby on rails 无法从可安装rails的引擎加载twitter引导rails

Ruby on rails 无法从可安装rails的引擎加载twitter引导rails,ruby-on-rails,rails-engines,twitter-bootstrap-rails,Ruby On Rails,Rails Engines,Twitter Bootstrap Rails,我已将am现有rails 3.2应用程序转换为可安装引擎,但资产管道因以下错误而中断: 未找到“twitter/bootstrap/bootstrap.less” (在/Users/developer/Projects/messaging_app/app/assets/stylesheets/messaging_phase1/bootstrap_和_overrides.css.less中) 在bootstrap_和_overrides.css.less中执行以下行时失败 @导入“twitter/

我已将am现有rails 3.2应用程序转换为可安装引擎,但资产管道因以下错误而中断:

未找到“twitter/bootstrap/bootstrap.less”

(在/Users/developer/Projects/messaging_app/app/assets/stylesheets/messaging_phase1/bootstrap_和_overrides.css.less中)

在bootstrap_和_overrides.css.less中执行以下行时失败

@导入“twitter/bootstrap/bootstrap.less”

我已经验证了twitter引导gem已经安装并加载


应用程序转换为引擎后,应用程序似乎没有加载gem中的bootstrap.less文件

您需要在
application.css
中使用此选项(请参阅):

但您也可以尝试,只要使用:

*= require_tree .

如果您使用的是Rails 4(显然您没有),那么您不应该在GEM文件的:assets组中包含引导gem(请参阅)。这里回答了这个问题。

在将以下行添加到engine.rb后,它工作了

require 'less-rails'
require 'less/rails/bootstrap'
myengine.gempec具有以下行:

s.add_dependency 'less-rails-bootstrap'
s.add_development_dependency "therubyracer"
我的应用程序和引擎规格:

  • 第4.2条
  • 红宝石2
  • 少轨和少轨2.6.0

您好,我已经收到了您提到的require声明。当rails将bootstrap_和_覆盖加载到application.css中,并且无法从gem中找到“twitter/bootstrap/bootstrap.less”时,会出现错误:“twitter/bootstrap/bootstrap.less”。发布您的gem文件可能会有用。您的gem文件中是否包含了
gem'therubyracer'
gem'less rails'
?如果没有,你应该。您还应该删除任何冲突的gem,如
gem'bootstrap sass'
,请发布您的
应用程序.css的
=require
-和
@import
-行,以及您的
引导和覆盖.css.less的
@import
-行。对我的建议有什么反馈吗?我们有一个特定的场景,其中一个rails应用程序作为引擎安装到另一个应用程序中。此引擎使用了Twitter引导。出现这种情况是因为引擎没有加载twitter引导。我们通过手动更改gem的加载路径修复了这个问题。非常感谢您的建议。:)
s.add_dependency 'less-rails-bootstrap'
s.add_development_dependency "therubyracer"