【问题标题】:NoMethodError with Sprites (Compass + Rails)NoMethodError 与 Sprites(指南针 + Rails)
【发布时间】:2016-11-04 19:34:09
【问题描述】:

编辑:我现在感觉很愚蠢。原来问题出在我的 global.scss 中:

.settings{
    @include site-icons-sprites(settings);
}

我放入了 site-icon-sprite 而不是 site-icons-sprites,它按预期工作。


我正在尝试在 Rails 应用程序中使用带有 Compass 的精灵,但我不断收到以下错误:

NoMethodError on line ["100"] of /usr/local/rvm/gems/ruby-1.9.3-p392/gems/compass-0.12.2/lib/compass/sass_extensions/functions/sprites.rb: undefined method `parent' for nil:NilClass

我在一个名为 app>assets>images>site-icons 的文件夹中有两个 18x18px 的图像,名为 settings.png 和 search.png。我的代码如下:

来自模块/_sprites.scss:

@import "site-icons/*.png";
@include all-site-icons-sprites;

来自 global.scss:

.settings{
    @include site-icons-sprites(settings);
}

来自我的头文件:

<li class="has-dropdown">
    <%= current_user.display_name %> 
    <span class="settings"> </span>

    <ul class="dropdown">
        <li><%= link_to "Profile", current_user %></li>
        <li><%= link_to "Dashboard", :root %></li>
        <li><%= link_to "Logout", signout_path %></li>
        <li>
    </ul>
</li>

来自我编译的 application.css 文件:

/* line 50, site-icons/*.png */
.site-icons-sprite, .site-icons-gear, .site-icons-search, .settings .site-icons-gear, .settings .site-icons-search {
  background: url(/assets/site-icons-sd9044365e4.png) no-repeat;
}

/* line 60, ../../../../../../usr/local/rvm/gems/ruby-1.9.3-p392/gems/compass-0.12.2/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss */
.site-icons-gear {
  background-position: 0 -20px;
}

/* line 60, ../../../../../../usr/local/rvm/gems/ruby-1.9.3-p392/gems/compass-0.12.2/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss */
.site-icons-search {
  background-position: 0 0;
}

以前有人经历过吗?有什么想法可能导致它吗?

【问题讨论】:

    标签: ruby-on-rails sass compass-sass


    【解决方案1】:

    我现在感觉很愚蠢。原来问题出在我的 global.scss 中:

    .settings{
        @include site-icons-sprites(settings);
    }
    

    我放入了 site-icon-sprite 而不是 site-icons-sprites,它按预期工作。

    【讨论】:

      【解决方案2】:

      如果您的图像名称中有一次以数字开头,也会发生这种情况

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-30
        • 1970-01-01
        • 2012-01-31
        • 1970-01-01
        • 2014-05-17
        • 2014-09-25
        • 1970-01-01
        • 2012-09-25
        相关资源
        最近更新 更多