Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails 3.1资产管道不';t获取对@import';d表_Import_Sass_Ruby On Rails 3.1_Asset Pipeline - Fatal编程技术网

Rails 3.1资产管道不';t获取对@import';d表

Rails 3.1资产管道不';t获取对@import';d表,import,sass,ruby-on-rails-3.1,asset-pipeline,Import,Sass,Ruby On Rails 3.1,Asset Pipeline,我使用@import'd部分工作表来组织我的css/sass: /app /assets /stylesheets _constants.sass _layout.sass ... app.css.sass app.css.sass: @import _constants.sass // basic styles @import _layout.sass @import ... app.css.sass有一个@imp

我使用
@import
'd部分工作表来组织我的css/sass:

/app
  /assets
    /stylesheets
      _constants.sass
      _layout.sass
      ...
      app.css.sass

app.css.sass:
  @import _constants.sass
  // basic styles
  @import _layout.sass
  @import ...
app.css.sass
有一个
@import
规则用于
\u layout.sass
,它允许我在原始sass文件中共享混音和变量,然后再将它们编译成
app.css

问题是Rails无法识别对
@import
'd部分(
\u layout.sass
)的更改,并且在我对实际的
app.css.sass
文件本身进行更改之前不会重新生成
app.css
。这大大减慢了我的工作流程,意味着我必须从
app.css.sass
中添加/删除空行才能看到更改。在3.0中从未出现过此问题


有没有一种方法可以强制sass资产在开发过程中根据每个服务器请求重新生成?

使用
depend\u on
指令可以满足您的要求。这使给定文件成为基础文件的依赖项(因此,当依赖项更改时,基础文件将重新生成),但不将其包含在捆绑包中

例如:

/*
*= depend_on _layout.sass
*= depend_on _constants.sass
*/
@import _layout.sass
@import _constants.sass

请参阅此内容以及(特别是指令部分)。

纳米导师的回答引导我找到了解决方案(谢谢!),但是以间接的方式。当我终于找到时间回到这里并查找引用的帖子时,它已经被更新为不再需要修复


果不其然,这个bug似乎已经在Rails 3.1.0稳定版和sass Rails 3.1.0版中修复。这么好!我已经确认,更新gems确实可以让一切恢复正常运行,并在几个应用程序中进行了测试。

你已经解决了这个问题吗?我一直在寻找,但仍然找不到解决方案。我还没有找到解决方案。关于进一步的信息,我使用的是SASS-gem,但不是SASS-RAILS-gem。有人建议也尝试添加SASS-RAILS gem,但这会破坏通过@import链接使用的所有常量。@John您应该使用最新的RC RAILS再试一次。在过去几年中,资产管道有了一些改进。我在应用程序中遇到了与使用类似结构完全相同的问题。我也更新到了rc5,但是没有解决问题。对不起,我没有注意到这些评论。是的,在上个月的某个时候,Rails 3.1.0稳定版或sass Rails解决了这个问题。我现在可以更新任何文件并立即看到更改,常量工作得非常好。我刚刚找到时间来测试这个,现在它在两个不同的应用程序中运行得非常好。值得注意的是,sass可以在不使用sass rails的情况下使用rails,只需包括haml。。。但是如果没有sass-rails,这个问题会很棘手,我使用的是rails 4.1和更少的rails 2.7.1,我有相同的bug(和相同的修复程序)。这仍然相关吗@约翰莱因的建议不适用。@AdamSpiers这不应该是相关的,因为这个bug已经在一段时间前修复了。然而,答案一直在被投票,所以它显然帮助了一些人。@davidmani我认为你是对的-我后来发现它没有为我收集更改,因为一些预编译的资产正在阻碍…:-/我使用的是rails 4.0、sass rails 5.0.1,出于某种原因,我出现了错误,这对我有所帮助。是的,我使用的是rails 4.1和更少的rails 2.7.1,我也有相同的错误(和相同的修复)