- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 Rails 3.1 和 sprockets 的东西。
我想使用 ERB 预处理一个 js 文件,然后使用 javascript_include_tag 将其包含在内。它是从代码生成的,所以我用 ERB 对其进行了预处理,但我无法从 ActionView::Helpers::JavaScriptHelper 获得像 escape_javascript 这样的助手
假设我的文件名为 dynamic.js.erb,它包含
obj = {
name: "test",
tag: "<%= escape_javascript( image_tag( "logo.png" ) )%>"
};
如何阻止它产生错误:
throw Error("NoMethodError: undefined method `escape_javascript' for #<#<Class:0x1067da940>:0x116b2be18>
(in /Users/me/site/app/assets/javascripts/dynamic.js.erb)")
当我访问本地服务器并请求 /assets/dynamic.js
最佳答案
您可以将 Rails JS 助手包含到您自己的类中。
class Helper
include ActionView::Helpers::JavaScriptHelper
def self.escape_js( text )
@instance ||= self.new
return @instance.escape_javascript( text )
end
end
然后在您的 ERB 文件中使用它:
obj = {
name: "test",
tag: "<%= Helper.escape_js( image_tag( "logo.png" ) ) )%>"
};
关于javascript - 如何在我的 sprockets 预处理 js 文件(不是 View )中获取 escape_javascript 和其他助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838550/
当 Sprockets 对象编译失败(由于 CoffeeScript 或 SASS 中的语法错误)时,它无法在修复错误后重新编译,因为它说“文件已经需要”。 为了让 sprockets 对象工作,我必
我正在使用带 sprockets 的中间人将我的 js 和 css 文件打包到一个文件中。这很好用。但是我想知道是否可以在中间人中启用 sprockets 的指纹功能。 例如我的文件 all.js,其
我在升级我的 Rails 4.2 应用程序后尝试使用 Rails 5。 更改版本后,我使用了命令 bundle exec rake rails:update 访问某些 View 时出现错误: Asse
我对这两个中哪一个是 rails 的实际 sprockets gem 感到困惑?我应该使用哪一种?两者有什么区别? sprockets rails :https://github.com/rails/
对于用于测试 Rails 应用程序的 Rails 引擎 Konacha,我们需要一种方法来查找 Sprockets 可以编译为 JavaScript 的所有文件。 现在我们使用类似的东西 Dir['s
我是 Rails 的新手,正在尝试更改现有的 Rails 应用程序以使用 ES6 而不是 Coffeescript。我看过around online看起来应该像将以下内容添加到我的 Gemfile 中
我正在使用 gem "bootstrap-sass" gem。 在 application.js 中: //= require jquery //= require jquery_ujs //= re
在运行 git push heroku master 时在 heroku 上部署 rails 应用程序时遇到一些问题 它说Sprockets::FileNotFound:找不到类型为“applicat
这个问题在这里已经有了答案: Updating from Rails 4.0 to 4.1 gives sass-rails railties version conflicts (4 个答案) 关
我如何使用 Sprockets 有条件地要求 Assets ? 我在询问之前搜索了解决方案,并在 Sprockets 存储库中找到了这个讨论 - Conditional require 那里讨论的解决
我正在尝试使用 rails 3.1 Assets 管道从 list 文件的父目录中包含一个 javascript 文件 应用程序/ Assets /javascripts/文件夹/index.js /
我在新生成的Rails 3.1应用程序中使用Yahoo的reset.css。给定以下应用程序结构: - myapp - app - assets - styleshee
我的 Assets 路径中有以下文件: javascripts/abc.js templates/abc.js.mustache # this gets compiled to abc.js 自然地,
我有这个中间人项目。 我用 bower 给它添加了基础。 所以我的文件夹结构是这样的: -myproject -source -bower_components -foundation(c
Sprockets official documentation明确地说: Sprockets takes any number of source files and preprocesses th
我没有使用 Rails。 我正在使用 sprockets 的内置编译器任务 SprocketsTask。出处可见here . 我想禁用附加到每个文件的文件摘要。所以 application-e7aa0
我已经将闭包编译器 gem 添加到我的 Gemfile 并设置 config.assets.js_compressor = :closure 在 config/environments/product
我想包括 chosen库就像我的 Rails 应用程序中的其他 js 库一样,在 application.js 中: //= require jquery //= require jquery_ujs
我在推送到 heroku repo 时遇到了这个错误 remote: rake aborted! remote: Sprockets::DoubleLinkError: M
我是 Rails 新手,我被困在这个地方。 这是我的应用程序。HTML.erb 错误出现在 JavaScript include 标记中(第 6 行)当我删除该行时,我没有收到错误我尝试执行以下操作没
我是一名优秀的程序员,十分优秀!