问题标签 [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 中显示控制器特定的 javascript?
我有这样的资产文件夹结构
我希望仅在调用产品控制器中的操作时将 project.js 和 projectValidate.js 添加到我的 application.js 中,作为资产管道衬里的一部分,并在调用存储控制器中的操作时添加 store.js。我如何在 Rails 3.1 中实现这一点?
ruby-on-rails - Sprockets require_directory 问题
我在新生成的 Rails 3.1 应用程序中使用了 Yahoo 的reset.css。给定以下应用程序结构:
application.css
使用以下require_directory
指令在我的内部包含 reset.css 文件以require_tree argument must be a directory
.
我有什么问题吗,或者这是与 Sprockets 相关的错误?因为将 reset.css 文件移动到其中app/assets
就像一个魅力。
(顺便说一句,我在使用自定义 Sprockets 环境的 Rails 3.0 应用程序中也遇到了问题。)
javascript - 在 Rails 3.1 应用程序中嵌入 Ruby 代码的 JavaScript 应该放在哪里?
对于 Rails 3.1 应用程序,我的一些站点范围的 JavaScript 仅在满足某些实时、实例特定条件时才包含。这意味着我不能将它放在新资产管道的 application.js 中,因为 erb 没有为当前上下文中的嵌入式 Ruby 解析它。基本上,我根据登录的 current_user 包括键盘快捷键。
我的问题:这个带有嵌入代码的 JavaScript 应该去哪里,以便仍然使用正确的上下文(即当前的登录用户)为每个页面访问解析嵌入的 Ruby?
答案似乎只是将它放在底部的 application.html.erb 布局视图中,但这就像我将 JavaScript 代码隐藏在一个不直观的位置一样。
我尝试创建一个 application2.js.erb 文件,但随后出现有关未定义变量的错误,我认为这可能是因为资产引擎仅在缓存输出之前解析此文件一次,并且范围尚不正确current_user 之类的东西。
因此,使用 application.html.erb 在这里工作得很好,这不是如何让它正常工作的问题。相反,我想知道是否有一种更优雅的方法可以将资产管道模型与我的需求结合起来,并且仍然将我的大部分 JavaScript 保留在 assets/javascripts 目录中。
ruby-on-rails-3.1 - 如何在 Ruby on Rails 3.1 应用程序中使用 Less?
在 Ruby on Rails 3.1 资产管道中使用Less(与Sass /Scss 结合)最简单(有没有简单的方法?)是什么?
我想加载像 foo.css.less 这样的文件,就像我为 bar.css.scss 做的那样
我发现了一些对我不起作用的不稳定解决方案(没有尝试过很多): https ://github.com/thisduck/ruby-less-js/issues/2
想法是以干净的方式使用 Twitter Bootstrap。
ruby-on-rails-3.1 - Rails 3.1 静态资产 - 必须为制作预编译资产吗?
我对生产模式下的新 Rails 3.1 资产管道的理解如下:->
- config.action_controller.asset_host =
"https://mybucket.s3.amazonaws.com"
- config.assets.compile = false
app/assets
被检入回购- bundle exec rake assets:预编译并与 S3 同步(所有资产)
public/assets
未检入回购
综上所述,我认为 Rails 会在 S3 上查找所有资产,而我不需要在存储库中使用它们。或者至少我不需要repo 中的预编译资产。public/assets
我在 heroku 上找到了这个,如果没有config.assets.compile = true
,它完全不会在 S3 上找到预编译的资产。Heroku必须为所有资产运行一个编译阶段,然后将它们从 S3 中服务出来。跑步heroku run rake assets:precompile
不做深蹲。生产过程将再次重新编译所有内容。
嗯?这对我来说毫无意义。
我觉得你不需要用图像填充你的仓库,让你的 CDN 来完成工作。
我有一种感觉,这是不正确的。我是对还是错?
ruby-on-rails - Rails 3.1 资产:在 scss 中调用 image_url 会引发无法识别的文件类型
当我调用image_url('path/to/image.png')
我的css.scss
文件时,我收到此错误:
我正在compass '0.12.0.alpha.0'
从rails_31
分支机构使用。不确定这是否是问题所在。但我认为这值得一提。
如何在css.scss
文件中包含图像?
ruby-on-rails - Rails 3.1 和 Coffeescript:需要整个目录
需要像这样的单个文件:
是否有需要目录的等价物?
ruby-on-rails - 渲染部分资产
我正在使用 Ruby on Rails 3.1,我想知道如何在 javascript 资产中呈现部分内容。
我的目标是:
这会导致 NoMethodError:
如果我改写<%= 2+3 %>
它,它工作正常,顺便说一句。
我认为问题在于资产管道独立于默认的 ActionView ,这就是render()
那里未知的原因。无论如何,有没有办法渲染部分内容?
ruby-on-rails-3.1 - 资产路径中缺少指纹
我们刚刚使用新的资产管道部署了一个 Rails 3.1 应用程序。在开发中一切看起来都很好,但在生产中所有资产图像都丢失了。部署时,我们遵循 Ruby on Rails Edge 指南。例如,我们应用程序中的一个简单代码片段:
这在生产中生成:
但是指纹丢失了(因此它是生产中的死链接)。我们已经尝试过不使用“图像”,image_tag
而是使用它。没有任何工作。
附加信息:
- 导轨版本 3.1.0
已经看过并尝试过:
ruby-on-rails - 图像和资产在 Rails 3.1.0 上的生产服务器中不起作用
我将服务器切换到生产环境,但无法加载任何图像。在开发模式下一切正常,但是当我切换到生产模式时,它都停止工作了,我启用了 server_static_assets,但仍然没有任何效果。对这样做有任何帮助