0

我有 3 个使用 gem jquery-ui-themes 的 Rails 3.2 应用程序。jquery-ui-themes 使用 scss 作为图像路径助手。

它在我的两个应用程序上运行良好,但第三个似乎没有在开发或生产模式下编译 scss 文件。

IOW,它将这个发送到浏览器

 background: #fcfdfd url(image-path("jquery-ui/redmond/ui-bg_inset-hard_100_fcfdfd_1x100.png")) 50% bottom repeat-x;

而两个工作应用程序正确发送

 background: #fcfdfd url("/assets/jquery-ui/redmond/ui-bg_inset-hard_100_fcfdfd_1x100.png") 50% bottom repeat-x;

我花了很多时间试图使损坏的应用程序尽可能与两个工作应用程序相似,但它仍然失败。

我的理论是,SASS 被 redmond.css.scss 之前的东西窒息。如果是这样,则应该在某处记录错误。我在哪里可以找到 SASS 的错误输出?

更新:

我在 redmond.css.scss 中引入了一个故意的错误,我得到了一个正确的错误转储。所以我知道我正在正确清除缓存并实际运行 sass。现在要弄清楚为什么它忽略了图像路径指令。

4

2 回答 2

0

如果您正在寻找标题中问题的答案,答案是“与您遇到任何其他错误的方式相同:它们在您的日志中”。要获得完整的回溯,只需将浏览器指向资产:即http://localhost:3000/assets/jquery-ui/redmond.css在我的情况下。

确保清除所有缓存: rm -rf .sass-cache/ && rm -rf public/assets && rake tmp:cache:clear以及在浏览器中使用 ctrl-shift-r。

于 2012-10-02T14:54:58.790 回答
0

如果您正在寻找我真正问题的答案(图像路径不起作用),请确保您的 application.rb 中有正确的 Bundler.require 行。旧的 Rails 3.0 不起作用。

代替:

# If you have a Gemfile, require the gems listed there, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env) if defined?(Bundler)

和:

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
于 2012-10-02T14:56:02.613 回答