【问题标题】:Sass / CSS files getting ignored -- Asset Pipeline issue?Sass / CSS 文件被忽略——资产管道问题?
【发布时间】:2013-03-08 06:51:15
【问题描述】:

所以,当然,我在弄乱了我的主 SASS 文件并想知道为什么我看不到更改后才弄清楚这一点 - 但事实证明,我的本地主机并没有注意我的内容'我正在放入我的 SASS 文件。

这是在将所有内容从 SCSS 切换到 SASS 之后发生的,我 100% 确定该文件只是被忽略了。对于踢/证明,我删除了我的 application.erb.sass 文件中的所有样式(唯一一个不再有任何样式的样式——我合并到这个底部),然后保存,然后重新启动服务器,它是看起来一如既往的风格。

这似乎是一个资产管道问题,由于我真的不知道如何处理我的配置文件,我将在此处粘贴看似相关的内容:

config/environments/development.rb 有以下几行:

# Do not compress assets
config.assets.compress = false

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require *Rails.groups(:assets => %w(development test))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

# Expands the lines which load the assets
config.assets.debug = true

config/application.rb

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end



# Enable the asset pipeline
config.assets.enabled = true

config.assets.paths << "#{Rails.root}/app/assets/fonts"

# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'

另外,我的 gem 文件中有“gem 'sass-rails'”,而不是任何组。

认为这是所有/最相关的。知道如何解决这个问题吗?

【问题讨论】:

  • 你能粘贴你的 application.css 文件吗?
  • 其实我发现了我的问题。我认为部分原因是需要预编译(尽管我仍然担心我可能不得不这样做的规律性)。另一个问题是 css 文件的扩展顺序。我尝试过 application.erb.sass 和 application.erb.css.sass,但 css.erb.sass 有效。我猜你把你想要它最终编译成的那个放在左边——不知道。奇怪的是它没有抛出错误。

标签: ruby-on-rails ruby-on-rails-3 sass asset-pipeline


【解决方案1】:

运行:rake assets:clean && assets:precompile

【讨论】:

  • 所以这是一次性解决方案,对吧?是什么导致了问题,这会永久解决问题吗?
  • 另外,我不是必须在每次更新后运行 rake assets:precompile 吗?
  • 另外,实际上,运行这两个现在以某种方式消除了我所有的样式。如果我重新启动浏览器,它只是没有任何 CSS 的 HTML。 (并且 Inspector 控制台给出 404 application.css not found 错误)。
【解决方案2】:

问题似乎是我的 css 文件的扩展名(其中嵌入了一些 ruby​​):

erb.sass 和 erb.css.sass 不起作用,但 css.erb.sass 起作用了。

这莫名其妙地阻止了文件被读取,因此当我运行 assets:clean/precompile 时,没有剩下任何 css。在我运行它之前,我猜它正在运行我之前预编译的 CSS 文件。很奇怪。

显然,这些东西必须从右向左编译(可能除了我以外的所有人都知道),所以 CSS 应该是它编译成的类型。

很抱歉给您带来了困惑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2013-05-12
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多