我对Rails 3.1assets资源 管道有问题.

<script src="/assets/main_new.js?body=1" type="text/javascript"></script>
<script src="/assets/pagenav.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.controller.js?body=1" type="text/javascript"></script>
<script src="/assets/tours.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

Rails以某种方式编译并包含了application.js个脚本,因此所有脚本都包含了两次,分别是单个文件和application.js个脚本

生产中的预编译assets资源 一切正常.

development.rb

 config.assets.compress = false
 config.assets.debug = true

production.rb

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress both stylesheets and JavaScripts
config.assets.compress = true
config.assets.js_compressor  = :uglifier
config.assets.css_compressor = :scss

config.assets.compile = false
config.assets.digest = true

application.rb

config.assets.enabled = true

推荐答案

try 将以下内容添加到开发中.rb:

config.serve_static_assets = false

...然后清除浏览器缓存(update based on comments)

静态assets资源 是指公共/assets资源 中的预编译assets资源 ,这是rake assets:precompile放置它们的地方.

现在的情况是,如果你在为应用程序/assets资源 提供服务,那么公共/assets资源 中存在的任何内容都将覆盖应用程序/assets资源 中的任何内容.所以公开/assets资源 /应用程序.当js标记打算识别app/assets/application时,正在加载js.js.

Ruby-on-rails相关问答推荐

Rails turbo流只更新页面上的一个元素

在URL中将下划线更改为连字符Ruby on Rails

会话控制器中的某种问题

使用嵌套属性时如何自动将父 ID 分配为外键?

这种使用on:的语法在 Ruby on Rails 中意味着什么?

验证模型属性大于另一个

将日期时间转换为月、日和年?

rails4 未知编码名称 - CP720

如何在 Linux 上使用 Ruby 2.0 改进独角兽进程之间的内存共享

rails 模型 has_many 本身

如何在where子句中组合两个条件?

为什么我要使用 unicorn 或 thin 而不是 WEBrick 用于开发目的?

使用 RSpec 2 关闭一个规范的事务性固定装置

Ruby on Rails:调试 rake 任务

使用 AJAX 向 Rails 发送 Authenticity Token 的正确方法

减go Ruby 中的日期并以分钟为单位得到差异

Rails SQL 正则表达式

Mongoid OR 查询语法

您可以在弹性 beantalk 环境中运行 rails 控制台或 rake 命令吗?

如何创建一个 ruby​​ Hello 世界?