问题标签 [asset-pipeline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1054 浏览

css - Rails 3.1 资产管道指纹

简单的问题:

我有一个在 staging 中运行的 Rails 3.1 应用程序,即RAILS_ENV=production. 我的问题是: stylesheet_link_tag为我的 css 文件生成的指纹与由rake assets:precompile.

因此,当我请求页面时,样式表的链接正在寻找如下文件:

但实际上位于公共/资产中的文件是

并且浏览器返回 404 Not Found。

这是我的链接stylesheet_link_tag :front。谁能向我解释为什么会这样?

0 投票
2 回答
13467 浏览

javascript - 资产管道中的路由助手

使用 Rails 3.1.0.rc4,我正在尝试访问 javascript 文件(在本例中为 event.js.erb)中的路由帮助程序,并且当时似乎没有加载它们。请求合并的 /assets/application.js 文件时,我得到:

知道如何访问那里的路线助手吗?

0 投票
1 回答
349 浏览

ruby-on-rails - Rails 3.1 资产管道:忽略来自 Emacs 和其他编辑器的备份文件

在 Rails 3.1 项目中,如果我app/assets/javascripts/users.js.coffee使用 Emacs 进行编辑,那么 Emacs 会创建一个名为app/assets/javascripts/users.js.coffee~(注意结尾的“~”)的备份文件。

不幸的是,新的 Rails 3.1 资产管道看到了这个.coffee~文件,并将其直接注入到 generatedapplication.js中,这反过来又导致浏览器中的 JavaScript 错误。

可以通过以下方式关闭 Emacs 中的备份:

...或者我可以使用:

...将它们移动到另一个目录。

但这将要求项目中的每个 Emacs 用户重新配置他们的 Emacs,这是不可取的。我更愿意将 Rails 3.1 配置为忽略以.coffee~. 是否有捷径可寻?

0 投票
4 回答
12937 浏览

ruby-on-rails-3.1 - Rails 3.1:确定资产是否存在

是否有一种内置的方法来确定资产是否存在而不诉诸File.exists?(File.join(Rails.root, "foo", "bar", "baz"))资产路径并查看资产路径。

我的应用程序从 Resque 队列上的远程服务器获取图像;直到我们下载了图像,我想提供一个占位符图像。目前我正在使用File.exists......但这意味着硬编码路径,这很糟糕,或者查看配置的资产路径。似乎这应该已经存在,但我在文档中找不到它。

0 投票
1 回答
3626 浏览

node.js - ExecJS 问题编译 Rails 3.1 资产

我的 Rails 3.1.rc4 应用程序运行良好,但我试图找出将我的 js 文件存储在管道中的适当方法。如果我将任何代码放在 application.js 以外的文件中,我会收到以下错误:

在 2011-07-21 23:15:02 -0500 开始 GET "/assets/application.js" for 127.0.0.1 编译 ~/Dropbox/Rails/myapp/app/assets/javascripts/application.js.coffee (224ms) (pid 69397) 编译资产 application.js 时出错:ExecJS::ProgramError: SyntaxError: 第 1 行的保留字“function”(在 /Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js .coffee) 服务资产 /application.js - 500 内部服务器错误

无论哪个文件(registrations在这种情况下)都会发生这种情况,并且无论文件中的第一个单词如何( , 等)都声称一个“保留字varfunction。我使用 node.js 作为我的运行时环境,如果我删除 coffeescript 编译 gem 并将其视为 Rails 3.0 应用程序,一切正常。我想更好地了解资产管道并遵循惯例。感谢您的任何建议!

0 投票
2 回答
1847 浏览

ruby-on-rails - Ruby 更新后 Rails 3.1rc4 资产管道中断?如何重新激活/配置它?

不知何故,这是相关的,但我不确定如何/为什么?

刚刚通过 RVM 的命令从 Ruby 1.9.2-p180 升级到 1.9.2-p290 rvm upgrade……现在我的资产管道已经“损坏”了。

在此期间rvm upgrade ...,我注意到每个 gemset 存在以下错误:

我让升级继续,因为 gemset.pristine.log 中没有太多有趣的东西......此外,/Users/meltemi/.rvm/log//gemset.pristine.log不(不能?)存在于那个确切的路径中吗?路径名中有两个连续的“//”?反正...

测试一个小型应用程序,尽管它启动并似乎运行它并没有加载任何资产(图像、css 等)。开发日志有很多Not Found关于这些缺失资产的错误(见下文),即使它们存在于app/assets/imagesandapp/assets/stylesheets等...?

有人知道这里发生了什么吗?似乎管道已经以某种方式崩溃了......好像 Rails 不再知道在应用程序/资产中寻找资产,也许?我如何测试/验证/修复/重新激活这个“管道”?

0 投票
1 回答
432 浏览

ruby-on-rails-3 - 如何调整 sprockets 加载 scss 文件的顺序?

我想影响我的 scss 文件放入最终 application.css 文件的顺序,因为我希望能够覆盖在另一个 scss 文件中定义的一些样式。

我不知道该怎么做。

亲切的问候,

尼尔斯

0 投票
1 回答
827 浏览

ruby-on-rails - rails 3.1 资产不可用

我开始玩 rails 3.1.rc4 但我遇到的第一个问题是资产不可用。我创建了一个全新的项目,在索引页面中,rails 图像给出了 404。实际上任何资产都可用。

我检查了

我试过了

也来自外壳

运气不好,所以我破坏了宝石组,然后又做了一个重新安装导轨,但到目前为止没有任何效果。

有任何想法吗?- 谢谢你

0 投票
1 回答
1563 浏览

ruby-on-rails - Rails 资产管道导致问题

我试图让 tiny_mce 与我的 Rails 3.1 应用程序一起工作,它几乎可以工作。

我将它安装在 vendor/assets/tiny_mce 并包含在我的 application.js 引导程序中:

应用程序.js

现在,当我使用 ?debug_assets=true 查看我的页面时,它不会将文件与 sprocket 结合起来,并且一切都按预期工作。但是,如果我摆脱 ?debug_assets=true 那么它不再起作用。

似乎 TinyMce 在需要时会自动加载一些额外的 js 文件(lang 文件等),但这似乎不适用于 rails 3.1。任何想法如何解决这一问题?

感谢您的建议,我检查了请求日志,所需文件为:

tiny_mce 中有几十个不同的 js 文件,我假设它会根据您初始化它的配置加载不同的集合。我是否应该一次手动地将这些额外的 js 文件添加到我的 application.js 文件中,直到 rails 停止抱怨,或者是否有更通用或最佳实践的解决方案?谢谢

0 投票
1 回答
288 浏览

ruby-on-rails-3 - [[]]:Sass::Tree::FunctionNode 的未定义方法 `args=' 使用 rails 3.1 部署到 heroku

我有一个应用程序,我正在尝试使用 rails 3.1.0.rc5 部署到 Heroku Cedar 堆栈。我遵循的一些博客实现了向 cedar 和资产管道的迁移:

在 git push 到 heroku 之后,我运行 assets:precompile 任务:

js 文件编译得很好,但是 Sass 炸弹编译 application.css.scss 时出现错误:

此处的完整输出和堆栈跟踪:https ://gist.github.com/1122683

bundle exec rake assets:precompile在本地运行运行良好,没有错误。