【问题标题】:Rails 3.1 assets and layout troublesRails 3.1 资产和布局问题
【发布时间】:2011-09-15 16:14:03
【问题描述】:

我有一个 rails 3.1 应用程序,它按照标准做法在“/app/assets/stylesheets/application.css”中使用带有 css 的默认布局。这对我的应用程序主要部分的资产流水线非常有用。

但是,当我生成使用 /app/views/layouts/showreports.html.erb 布局的报告时,我使用了不同的“报告”布局,如​​下所示:

<!DOCTYPE html>
<html>
<head>
  <%= stylesheet_link_tag "showreports" %>
  <%= javascript_include_tag "showreports" %>
  <%= csrf_meta_tag %>
</head>
<body>
  <div id="mainarea" class="container">
    <div class="span-24 last">
      <%= yield %>
    </div>
  </div>
</body>

我正在使用 rake assets:clean; rake assets:precompile 预编译我的资产并检查清单文件 (/public/assets/manifest.yml) 中的内容是否正常,但我没有看到任何对 showreports.css 或 showreports 的引用.js。

当我在开发模式下测试我的程序时,不出所料,它找不到那些文件。

我猜这是 rails 3.1 的基本 sprockets 问题,但我认为 sprockets 足够聪明,可以解析资产的所有布局文件(超出默认的 application.html.erb 文件)。

只是想知道这可能是一个错误还是我对它应该如何工作的误解。

干杯,

格雷格


更新

经过更多修改,我正在回答我自己的问题,因为这对我来说最有意义......

This answer really gave the right clue

我做错的是使用名为“showreports.css”和“showreports.js”的文件作为清单文件。

我的解决方法是创建 /app/assets/stylesheets/showreports 和 /app/assets/javascripts/showreports,然后在它们各自的目录中将我的 showreports.(css|js) 重命名为 application.(css|js)。

这样做后,rake assets:precompile 很好地找到了它们并将它们正确添加到清单文件中。

【问题讨论】:

    标签: ruby-on-rails-3.1 asset-pipeline sprockets


    【解决方案1】:

    根据http://guides.rubyonrails.org/asset_pipeline.html,您还应该添加以下内容:

    config.assets.precompile += %w(showreports.css showreports.js)
    

    到您的 application.rb 文件

    【讨论】:

      【解决方案2】:

      这是个误会。 Rails Assets Pipeline 仅编译位于RAILS_ROOT/app/assets 的文件,您必须直接引用它们。如果您想生成另一个文件,只需创建另一个与 application.css/js 内容相似的清单文件。还要检查require 指令以避免将一个文件包含到另一个文件中。

      【讨论】:

      • @Pablo_Castellazzi。谢谢,但我对在哪里/如何做这件事有点迷茫。我会修改 config/application.rb 中的某些内容以强制生成另一个清单文件还是手动创建它?
      • 两者都有。您需要创建文件并将它们添加到数组config.assets.precompile 中的config/environments/production.rb。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 2011-12-16
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多