【问题标题】:Why @import SCSS causes 'show' action in Rails 3.2?为什么@import SCSS 在 Rails 3.2 中导致“显示”操作?
【发布时间】:2014-11-27 21:41:48
【问题描述】:

问题来了:

application.css.scss中导入了一个jquery-ui SCSS文件:

@import "jquery-ui"

application.html.erb中也有一行关于jquery-ui.scss:

 <link href="jquery-ui.scss" rel="stylesheet" type="text/css"/ >

文件_jquery-ui.scss 保存在/app/assets/stylesheets/ 下。我们在 Rails 3.2 应用程序中注意到 create 的某些内容,rails 应用程序在 create 操作之后启动 show 操作。如果我们从上面的 2 个文件中同时删除 @import&lt;link ...&gt;,那么“显示”操作就会消失。 show动作params内容见附件。

我不明白为什么 SCSS 文件的 @import 会导致 rails 应用程序在 create 中启动 show。这个show 导致我的Rails 应用程序出现故障。关于这种行为和修复的任何想法?非常感谢。

【问题讨论】:

  • 使用在线CDN jquery-ui.css 是解决这个问题的一种方法。

标签: jquery css ruby-on-rails ruby-on-rails-3 sass


【解决方案1】:

罪魁祸首可能是您引用了.scss 文件而不是生成的.css,所以这个公式会更正确一点:

<link href="jquery-ui.css" rel="stylesheet" type="text/css"/ >

但是,您应该在 erb 文件中使用 Rails' Asset Tag Helpers

<%= stylesheet_link_tag "jquery-ui" %>

这样,Rails 资产管道可以为您完成输出正确文件名的工作。

【讨论】:

    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 2016-01-12
    • 2017-04-20
    相关资源
    最近更新 更多