Tag: sass

使用Rails 3.1的资产管道预编译.scss清单文件

Rails 3.1的发布版本在预编译带有扩展名scss的sass清单文件时遇到了一些奇怪的问题。 奇怪的是,默认的清单文件application.scss编译得很好,我在public/assets/下看到它。 但是,当我尝试编译自定义清单文件时,不会创建任何内容。 我在生产配置中启用了预编译选项。 config.assets.precompile += %w( user.scss admin.scss ) 就我所知,我正在正确运行预编译rake任务。 rake assets:precompile RAILS_ENV=production 也许这会有所帮助。 当我使用扩展名css而不是scss创建两个新的清单文件并且需要其中的原始scss文件时,这些新的清单文件将得到尊重并正确编译。 为什么application.scss得到这种特殊处理而不是其他sass清单文件?

sass-rails资产管道:错误地生成图像路径; `url(/images/blah.png)`而不是`url(/assets/blah.png)`

在第2.2.2节“CSS和Sass”中 ,我被告知将image-url(‘delete.png’)放入我的sass中。 所以我有。 但是,它正在生成CSS background-image: url(/images/delete.png) 而不是我告诉他应该生成的东西,正确而明显的东西, background-image: url(/assets/delete.png) 什么。 哎呀。 我花了很多天试图弄清楚这是从哪里来的。 以下是导致此行为的相关设置的要点 。 以下是我们的代码库早期版本中相同文件的要点 (在我们实现资产管道之后,它实际上工作了大约一周之后才出现这种令人沮丧的行为)。 你能发现差异吗? 您能想到的任何其他文件可能导致此问题? 注意 我们故意使用较旧版本的sass-rails因为较新的版本导致Stack level too deep! 预编译时出错。 我们正在使用指南针。 两次针对变通办法的黑客尝试 因为实际上对资产管道进行故障排除有点糟糕。 1:将图像放入/图像 我试图将所有图像移动到public/images并将其添加为加载路径。 这在dev中工作(图像可以在/assets或/images ),但是生产的预编译会将指纹图像放在/assets (obvs)中,所以当sass-rails放入url(/imagse/delete-120398471029384102364.png) ,它无法找到。 2:使/ public / images成为/ public / assets的符号链接 这可能适用于生产,但在开发中,/ assets文件夹不存在,因此url(/images/delete.png)指令会导致图像不均匀。

rails 3中的控制器特定样式表:inheritance

首先,我是rails的新手。我在rails网站上工作。 它有三个控制器,即application_controller,static_pages_controllers和users_controller 。 除了 static_pages_controllers 之外 ,它们在app / assets / stylesheets /(application.css和users.css.scss)中都有各自的css(scss)文件, 并且还有一个custom.css.scss用于整体布局或公共元素 。我使用了控制器特定的这里提到的样式表 我的问题是: 1)custom.css中的css规则是否适用于所有控制器视图,除了那些我在单独的控制器css中明确定义的视图? 2)如果是,那么我在custom.css.scss和users.css.scss中都定义了一个规则 custom.css.scss – body {background-color:color1;} users.css.scss – body {background-color:color2;} 但是static_pages_controllers和users_controllers中的视图仍然显示背景color2。 我哪里错了? 只有users_controller中的视图必须显示color2,而static_pages_controller必须显示color1。

使用SASS和用户指定的颜色

我正在使用Rails 3构建一个网站,让用户拥有不同布局和配色方案的配置文件。 我已经在使用SASS,如果我可以做这样的事情,变量将是非常宝贵的…… …颜色方案定义主要(完全?)SASS变量指定要在布局中使用的颜色。 显然我不能像这样链接SASS或CSS文件,我需要将它们导入SASS。 如何在请求时动态地将SASS文件导入解析器,然后缓存生成的CSS文件以供以后使用? 我已经考虑过在部署中构建所有可能组合的丑陋路线,但如果我想让用户在未来设置自己的颜色,那仍然会让我感到不安。 看起来像SASS这样的低调水果,它可能也可以实施。

在Production中找不到文件’twitter / bootstrap’

我正在使用Twitter的Bootstrap翻译成SCSS文件。 它适用于本地开发,但是当我预编译并推送到Heroku(使用Cedar堆栈)时,我得到了这个: > Started GET “/” for 74.57.16.130 at 2012-01-28 17:16:36 +0000 > Processing by StaticPagesController#home as HTML Rendered > static_pages/home.html.erb within layouts/application (0.7ms) > Completed 500 Internal Server Error in 4ms > > ActionView::Template::Error (couldn’t find file ‘twitter/bootstrap’ > (in /app/app/assets/stylesheets/application.scss.css:11)): > 8: > 6: > 4: > 2: > 5: “all” %> app/views/layouts/application.html.erb:5:in […]

警告。 保存缓存时遇到错误…无法转储匿名类

当使用capistrano部署app时,在production.log中会出现错误。 Compiled signup.css (30ms) (pid 31797) Warning. Error encountered while saving cache /home/deployer/apps/example.com/releases/20140315211501/tmp/cache/sass/c76a96d592cb37dc7092a4e2f10ad8d3d22bcc8b/user_sessions.css.scssc: can’t dump anonymous class # Compiled user_sessions/user_sessions.css (16ms) (pid 31797) Compiled user_sessions.css (20ms) (pid 31797) Warning. Error encountered while saving cache /home/deployer/apps/example.com/releases/20140315211501/tmp/cache/sass/a59f84087c66a48b1521281da138ce9e3ed4c217/welcome.css.scssc: can’t dump anonymous class # 这是我正在使用的Gemfile.lock。 GIT remote: git://github.com/tomazzlender/letter_opener.git revision: 29b17fefe87b8fdc7ead987dbfabe355b59ff684 specs: letter_opener (0.0.2) launchy GIT remote: git://github.com/tomazzlender/premailer.git revision: 88af5e6f60ac78ef1d70d6f0a6f4b7612d2c5f7a […]

Rails:使用带有Asset Pipeline的livereload

铁轨的快速问题在那里有所帮助…… 使用Rails 3.0.x应用程序时,我是Guard和LiveReload的重要用户。 但是,似乎在Rails 3.1中使用资产管道时,livereload guard不知道对Sass文件的更改应该触发向浏览器发送新的css。 有人使用LiveReload和Asset Pipeline吗? 如果是这样,你是如何使它工作的? 谢谢!

如何在Rails 3.2.1中使用特定于控制器的样式表?

使用Rails 3.2.1 我使用命令创建了一个名为Home的简单控制器: rails g controller Home index 它为我创建了一个新的控制器和视图: 注意有两个样式表,一个是“应用程序”,另一个是“主页”。 我找不到任何文档来支持这个假设,但我猜你把样式只应用于Home.css.scss文件中的“Home”视图,对吗? 因此,作为测试,我在Application.css.scss.erb中添加了一些全局样式并运行了应用程序。 样式按预期应用。 接下来,我在Home.css.scss文件中添加了一些规则,并访问了“Home / index”视图,但该文件中的样式未附加,既不作为单独的CSS引用链接,也不附加到单个Application.css.scss文件。 这对我来说非常困惑,因为评论说: // Place all the styles related to the Home controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ 为什么Home.css.scss中写的规则不适用于我的网站?

在application.css.scss中需要声明

我想使用灯箱gem,如fancybox或彩盒。 两个gem都要求在application.css中添加这一行 *= require colorbox-rails 这是问题所在。 我只有application.css.scss文件。 我所有的css文件都是scss文件。 我在application.css.scss中有import语句但没有* = require语句。 添加上面的行会导致错误: “*”之后的CSS无效:期望“{”,是“= require colorb …” 这是完整的application.css.scss @import “bootstrap”; @import “welcome”; @import “sessions”; @import “users”; *= require colorbox-rails

SASS变量未正确解析 – 未定义变量:“$ ct-white”

我第一次使用SASS,我的变量似乎已经停止工作了。 我在application.css.scss文件中有以下代码: *= require_self */ @import “layout”; @import “colors”; … @import “text”; 在我的部分_colors.css.scss文件中,有: … $ct-white: #F8F8F8 !global; 在我的部分_layout.css.scss文件(Rails默认布局文件)中: /* Site-wide layout syntax */ body { background-color: $ct-white; } 我知道_layout.css.scss文件正在加载,因为当我设置body { background-color: #F8F8F8; }时,页面上的其他样式工作正常body { background-color: #F8F8F8; } body { background-color: #F8F8F8; } 。 由于某种原因,该变量未被正确解析。 有什么想法吗?