加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 从rails引擎导入Sass无法正常工作

发布时间:2020-12-16 19:05:21 所属栏目:百科 来源:网络整理
导读:我为资产创建了一个Rails引擎.我不使用链轮用于css.相反,我依赖sass的@import.这在测试/虚拟应用程序中完全正常,但在需要引擎的Rails应用程序中,它一直在投掷 Sass::SyntaxError: File to import not found or unreadable: gumby. 我已经在这一段时间了,原来
我为资产创建了一个Rails引擎.我不使用链轮用于css.相反,我依赖sass的@import.这在测试/虚拟应用程序中完全正常,但在需要引擎的Rails应用程序中,它一直在投掷
Sass::SyntaxError: File to import not found or unreadable: gumby.

我已经在这一段时间了,原来路径不在sass的加载路径中.但后来我补充道

config.sass.load_paths << "#{Gem.loaded_specs['gumby_on_rails'].full_gem_path}/app/assets/stylesheets"

到我的config / application.rb,现在它肯定显示了我正在尝试导入的文件的正确路径.它是以下跟踪中列出的最后一个路径的第二个:

Sass::SyntaxError: File to import not found or unreadable: gumby.
Load paths:
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  CompassRails::SpriteImporter
  /Users/brandon/code/personal/blog_update/app/assets/images
  /Users/brandon/code/personal/blog_update/app/assets/javascripts
  /Users/brandon/code/personal/blog_update/app/assets/stylesheets
  /Users/brandon/code/personal/blog_update/vendor/assets/javascripts
  /Users/brandon/code/personal/blog_update/vendor/assets/stylesheets
  /Users/brandon/.rvm/gems/jruby-1.7.11@blog/gems/angularjs-rails-1.0.7/vendor/assets/javascripts
  /Users/brandon/.rvm/gems/jruby-1.7.11@blog/gems/turbolinks-2.2.2/lib/assets/javascripts
  /Users/brandon/.rvm/gems/jruby-1.7.11@blog/gems/jquery-rails-3.1.0/vendor/assets/javascripts
  /Users/brandon/.rvm/gems/jruby-1.7.11@blog/gems/coffee-rails-4.0.1/lib/assets/javascripts
  /Users/brandon/code/personal/gumby/app/assets/stylesheets
  /Users/brandon/code/personal/blog_update/app/assets/stylesheets

rails引擎的树看起来像这样

app/
  assets/
    stylesheets/
      gumby/
        ...
      gumby.css.scss

(我知道技术上你应该将所有资产命名为引擎,但我不想要使用gumby / gumby,我觉得名字冲突的可能性很小.)

因此在测试/虚拟应用程序中,我可以通过@import’gumby’;导入此文件,但这在Rails应用程序中失败.有了上述例外.我该如何工作?

顺便说一句,这是一个Rails 4.1应用程序,其他几个“类似”问题的答案都是由于在Gemfile中使用组. Rails 4删除了组,所以这不是问题/解决方案.

解决方法

因此,我的解决方案是将其吸取并命名为gumby / gumby.然后我还必须将config / application.rb更改为:
config.assets.paths << "#{Gem.loaded_specs['gumby_on_rails'].full_gem_path}/app/assets/stylesheets"

由于某种原因,即使引擎已经需要,也没有正确地要求模块化规模.所以我不得不将application.css.scss更改为application.css.scss.erb并将<%require'模块化比例'%>在顶部.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读