问题标签 [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.
ruby-on-rails - Rails 3.1 资产管道:如何处理对过期资产的请求?
使用资产管道设置应用程序后,它可能会为您生成一个带有如下 URL 的图像(签名被截断):
然后,当您更改资产或更新全局资产版本时,您最终会得到如下内容:
现在,有些人仍然会向旧资产发送请求。在我理解的默认 Rails 3.1 部署下,这些只是 404。这似乎不太友好。对新资产执行 301 或直接交付新资产会更好。
是否有一些内置方法可以做到这一点,还是我必须实现自己的资产缺失功能?
ruby-on-rails - 带有 image_tag 的 ActionMailer 中的 Rails 3.1 资产
资产在我的 Web 视图中运行良好,但由于某种原因,我的 Mailer 没有使用资产管道。我正在尝试在我的邮件视图中使用 image_tag:
然而,这呈现为
代替
我在这里错过了什么吗?
我的设置是:
谢谢!
ruby-on-rails - 如何禁用 Rails 3.1 资产管道?
如何暂时禁用 Rails 3.1 提供的资产管道功能?(我正在执行升级)
ruby-on-rails - Rails 3.1 样式表中的图像损坏
我一直在运行一个最初在 Rails 3.1.0.rc4 下编写的小应用程序。昨晚我开始过渡到 3.1.0 final。好吧,我在资产管道中遇到了令人沮丧的障碍。我的js很好,我的css很好;但是,样式表中包含的图像并不好。我正在使用 .css.scss.erb 扩展,以便我可以同时使用 SASS 和 asset_path 帮助程序来提供我编译资产的路径。
例子:
结果是:
这是一个问题,因为编译的资产是 background-a76dde63a16fbb15fe1b4ec496b50877.png
image_tag 和asset_path 在应用程序的erb 视图中都能正常工作,但在scss 文件中却不能。任何输入都将非常受欢迎。
ruby-on-rails-3.1 - 为什么 rails 3.1 不会在 .js.coffee.erb 文件中的 coffeescript 之前评估 erb?
我的 rails 3.1 项目中有一个文件名为:foo.js.coffee.erb
这导致:
显然,ERB 正在绊倒它。我认为 Rails 3.1 允许在咖啡脚本之前使用 ERB 预处理器,为什么这会失败?
ruby-on-rails - Rails 3.1 SASS 资产助手不包括 RAILS_RELATIVE_URL_ROOT / relative_url_root
我一直致力于从 2.3.11 升级到 Rails 3.1。要清除的主要障碍之一是向资产管道的转换。在这个过程中,我决定将我的 css 转换为 sass (scss)。在 rails 3.1 中,通过管道交付的所有资产都会在生产中收到附加到文件名的哈希。因此,我的 css 中引用的所有图像现在都需要使用 sass 中的 image-path 或 image-url 助手。问题是,即使我在 environment.rb 文件中设置了 ENV['RAILS_RELATIVE_URL_ROOT'],sass 资产帮助程序也无法包含 relative_url_root。
为了清楚起见,为了在 rails 3.1 中添加 relative_url_root,我在 environment.rb 文件中添加了以下行:
并将以下行添加到我的虚拟主机:
这种策略似乎适用于所有链接等。只是 sass 中的资产助手似乎无法正常工作。任何想法,将不胜感激。
ruby-on-rails - 使用 Rails 3.1 的资产管道预编译 .scss 清单文件
Rails 3.1 的发布版本在预编译带有扩展名的 sass 清单文件时遇到了一些奇怪的问题scss
。奇怪的是默认清单文件application.scss
编译得很好,我在public/assets/
.
但是,当我尝试编译自定义清单文件时,没有创建任何内容。我在生产配置中启用了预编译选项。
据我所知,我正在正确运行预编译 rake 任务。
也许这会有所帮助。当我创建两个扩展名为css而不是scss的新清单文件并需要其中的原始 scss 文件时,这些新清单文件将得到尊重并正确编译。为什么application.scss
得到这种特殊处理而不是其他 sass 清单文件?
ruby-on-rails - Rails 3.1 图像资产超时
Rails 3.1 上的图像出现间歇性问题。
有问题的文件是一个简单的PNG;所有其他图像都正常工作。如果我直接查看资产路径,图像将按预期工作。重新启动服务器(Webrick,正在开发中)没有帮助。清除浏览器缓存没有帮助。
当我重新加载页面时,图像显示,但浏览器显示它仍在加载。30 秒后,请求超时,图像被损坏的图像指示器替换。
以下是一些支持图片:
https://skitch.com/matt_darby/fahke/oops-google-chrome-could-not-connect-to-localhost-3000
https://skitch.com/matt_darby/fahkp/oops-google-chrome-could-not-connect-to-localhost-3000
dojo - 如何将dojo工具包与rails 3.1资产管道和coffeescript一起使用?
我正在尝试将 dojo-toolkit 用作 rails 3.1 应用程序上的 JS 框架,但我正在努力将 dojo 要求结构与 sprockets 要求和咖啡脚本结合起来。似乎 dojo 需要磁盘上的 JS 文件,但我猜它们是从 coffeescript 动态创建的。
想知道是否有人知道这两个需求如何共存。