通过构建所有 asset_path 值来避免 *.js.erb 文件

2024-03-30

因此,我想避免使用 ERB 处理 JavaScript 文件,这样我就可以获得正确的资源路径,例如图像。

目前,这似乎是流行的方法:

var myImage = "<%= asset_path('my_image') %>";

当然,这需要将文件名更改为“*.erb”,以便对其进行处理。

我宁愿将 ERB 的丑陋隔离到项目中的一个点,制作一个清单文件(例如“assets.js.erb”)来计算并提供我的 JavaScript 所需的所有资源路径。

我当然可以通过个案处理来做到这一点:

ASSETS =
  "my_image": "<%= asset_path('my_image') %>"

window.assetPath = (path) -> ASSETS[path]

但是,我真的宁愿只写一些 ERB 来递归我所有的asset_paths.asset_environment.paths并为我构建一个大对象文字清单,以便我的真实应用程序 JavaScript 可以自信地调用:

var myImage = assetPath('my_image');

关于(1)是否有一种我错过的更简单的方法,或者(2)我如何完成对所有潜在有效论据的搜索的任何想法asset_path?.


更简单的方法:

  1. 获取 .js.erb 中的资产前缀:。如果需要绝对路径,您还可以获取应用程序 URL(从 Rails 获取它更复杂,因此您可以将其硬编码到 .js.erb 中?)

  2. 如果您正在使用预编译的资源,请获取存储在中的文件的指纹清单.yml(位于 )。清单包含一个列表,其中包含您的所有资产及其各自的指纹(文档 http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets)

  3. 使 assetPath 只需将应用程序 URL + 前缀添加到您的图像名称或指纹中

不方便的是您必须指定完整的图像名称(包括扩展名)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过构建所有 asset_path 值来避免 *.js.erb 文件 的相关文章

  • 从父应用程序重新打开 Rails 3 引擎类

    就目前而言 您无法重新打开引擎中包含的引擎类 app只需在父应用程序的目录中添加相同的类即可 app目录 例如 my engine app controllers users controller rb my app app control
  • Rails 安全:完全避免大规模分配

    我倾向于不需要批量分配 http guides rubyonrails org security html mass assignment我的生产代码中的功能 在我的测试代码中 我经常使用它 但在这些情况下我do想要设置任意列 因此 如果在
  • Ruby on Rails 服务器在 HTTPS POST 请求期间崩溃

    我正在尝试与你沟通城市飞艇API http urbanairship com docs push html broadcast使用 ROR Web 应用程序 在我的控制器中 我有以下代码 require net http require n
  • Rails 3:如何让用户在表单中至少选择一个复选框?

    我有一个表单 用户在提交表单之前必须选中至少一个复选框 有没有任何插件可以处理这个问题或者jquery可以应用于我的表单 不幸的是我完全是一个 jquery 菜鸟 上面的所有答案都显示了如何在客户端执行此操作 这确实可能更好 正如您的问题标
  • 子文件夹和关系中的 Rails 模型

    我在自动加载的文件夹中组织了一些轨道模型 config autoload paths Dir Rails root join app models 我可以直接使用所有模型 例如Image first file name 但是当我尝试通过关系
  • 比较 rspec 自定义 ActiveRecord::RecordInvalid 错误消息

    模型中有以下内容 validates uniqueness of title if proc item item item type tag case sensitive false message I18n t errors key va
  • 在 Rails 中本地化嵌套虚拟属性

    怎么可能本地化嵌套虚拟属性在 Rails 中 该模型 class User lt ActiveRecord Base attr accessor company information This is used in callbacks e
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • RSpec 无法从 Factorygirl 中找到工厂

    我将在 Rails3 项目中将 RSpec 与 Factory Girl 一起使用 我已经安装了 Factory Girl 但它找不到工厂我有这个错误 Failure Error Factory build user should be v
  • 处理铁路中 STI 子类路线的最佳实践

    我的 Rails 视图和控制器散布着redirect to link to and form for方法调用 有时link to and redirect to它们链接的路径是明确的 例如link to New Person new per
  • 更改 en.yml 文件中的属性名称不起作用

    我更改了 ruby on Rails 项目中 en yml 文件中的属性名称 按钮工作正常 但字段属性并没有改变 这是我的模型 class Enr AffordableWarmth lt ActiveRecord Base self tab
  • Rails 6:每个用户只能创建一个配置文件

    我目前正在开发 Rails 6 应用程序 我有以下关联 用户有一个配置文件 并且配置文件属于用户 当编辑用户的配置文件时 我最终为该用户提供了两个配置文件 我希望每个用户只有一份个人资料 编辑表单 profile edit html erb
  • 表情符号未正确保存在 mongodb 中

    我正在将 Twitter 和 Instagram 上的表情符号保存到我的 mongodb 数据库中 但是当我显示从数据库中提取的数据时 表情符号看起来像这样破损了 在将数据保存到 mongodb 期间我需要做一些不同的事情吗 我是 mong
  • Rails 中的 Google freebusy api 调用无法识别参数

    我试图从我的主日历中查找所有空闲 忙碌时间 但我无法让查询识别我的参数 在我的控制器中我有 freetimes client execute api method gt service freebusy query parameters g
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • Rails autoload_paths 中的错误?

    我的代码中遇到一个奇怪的错误 我有一个 Rails 应用程序 库中有以下两个文件 lib module one module two class one rb module ModuleOne module Moduletwo class
  • 是否可以禁用特定 jQuery Ajax 调用的 Turbolinks 以防止页面刷新和滚动?

    我有一个 Rails 5 应用程序 非常想使用 Turbolinks 在应用程序中 有几个 PATCH ajax 调用 它们只是用新数据更新服务器 但不需要担心更新页面的状态 每当这些 ajax 请求返回时 Turbolinks 就会刷新页
  • Rails - 连接多个表

    我有以下型号 class Company lt ActiveRecord Base has many price movements has many goods movements end class PriceMovement lt A
  • 使用 Paperclip 保存文件而不上传

    我有一个简短的问题 是否可以保存文件而不实际通过表单上传 例如 假设我正在查看电子邮件中的附件 并且我想使用回形针保存它们 我该怎么做呢 我是否必须在某处手动调用 save file 或类似的东西 任何帮助将非常感激 我有一个 rake 任
  • 如何让 Twilio 在hangup() 被触发时停止拨号?

    我一直在使用 twilio ruby gem 开发 Twilio 应用程序 但我陷入了一个部分 为呼叫构建 TwiML 响应 我拨打一些号码 以便他们也可以接听呼叫 def handle gather response Twilio Twi

随机推荐

  • 扩展访问表达式以检查值

    我目前正在尝试与表达式树进行斗争 以实现一些神奇的效果 但我不断遇到一个又一个的错误 我的一些域对象 实体框架 上有一些类似的属性 Expression
  • ZIO:如何只计算一次?

    我正在使用 ZIO https github com zio zio https github com zio zio in my build sbt dev zio zio 1 0 0 RC9 无论我尝试什么 每次需要时都会计算我的结果
  • C# Windows 窗体 - MenuItem 单击事件 - 获取 MenuItem 文本

    如何获取已单击的任何给定菜单项的文本 菜单是动态填充的 所以我似乎仅限于此 Menu MenuItems Add new MenuItem MenuName new EventHandler menu click 不幸的是 我看不到 Eve
  • Jenkins 在 Docker 容器内构建并生成报告

    我对 Jenkins 和 Docker 很陌生 即使经过一些研究 我也没有找到做这些事情的方法 我想要 在 docker 容器内的项目上执行 pytest 和 python coverage 这应该生成测试和覆盖率报告 访问生成的报告并使用
  • Chrome 下数字签名小程序的替代方案

    目前我们已经开发了一个可以使用java applet 对文档进行数字签名的系统 然而 随着 Chrome 下小程序的禁令 我们正在寻找数字签名的替代解决方案 目前签名的工作方式如下 HTTP GET 被发送到 servlet 以获取要发送的
  • Grails,使用会话中的值注入/填充域对象

    在我的应用程序中 许多类都有公共字段 公司 当应用程序保存该对象时 它们必须填写公司 对此进行了验证 公司也开会 现在 当我想使用域类作为命令对象时 公司必须已填写 否则我会收到验证错误 有什么方法可以在进行任何验证之前始终填写公司字段 这
  • 如何对时间轴上放置的点的值进行插值?

    我想创建不同位置 x 浓度随时间变化的插值图 如果可能的话 我想水平插值点 即随着时间的推移 以便为每个样本获得平滑的变色水平线 df lt data frame Concentration rnorm 30 Position rep c
  • jconn4.jar 的 Maven 存储库是什么?

    jConn3 是我唯一能找到的 com sybase jdbc3 jdbc jconn3 6 05 我的研究告诉我 jconn3 jar 和 jconn4 jar 是 Sybase jConnect 的一部分 为了下载 至少 最新版本的 j
  • “dat”协议能否有效支持视频直播?

    我希望能够通过以下方式实时流式传输视频 或任何其他大型且不断修改 附加的文件 dat Here https github com beakerbrowser webdb performance它说 dat 协议不支持文件级别的部分更新 这意
  • 将数组数据存储在卡中的简单示例

    我想了解如何使用自适应卡读取 写入数据 我可以从提交操作中读取数据 并以文本形式回复 但不确定如何在卡中呈现输入数据 首先 我想将 shotValue 添加到一个数组中 我可以在卡的生命周期中携带该数组 有人可以让我知道该怎么做吗 此问题的
  • 如何使用 html 在新选项卡中打开 pdf 文件的链接

    我有一个 html 页面 其中包含打开 pdf 文件的链接 然而 当我点击这个链接时 它会在 adobe reader 中打开 我已将目标属性设置为空白 但它也不起作用 我想在同一窗口的新选项卡中打开此 pdf 文件 target blan
  • 如何在 MVC 中的单个 foreach 循环中创建水平表?

    在 ASP Net MVC 中 有什么方法可以将以下代码压缩为单个 foreach 循环吗 table class table tr td Name td td td tr tr td Item td tr table
  • Pandas 适用于多列输出的滚动

    我正在编写一个代码 它将滚动窗口应用于将返回多列的函数 输入 熊猫系列预期输出 3 列 DataFrame def fun1 series Some calculations producing numbers a b and c retu
  • Xcode 9.2 中缺少标头搜索路径、库路径和链接路径部分

    想在我的项目的设置面板中添加第三方库路径 但问题是没有标题搜索路径 库路径和链接路径部分 缺少标题搜索路径部分 I am using Xcode 9 2 and Swift 4 点击All and Combined按钮 您会看到标题搜索路径
  • 按长度对数组排序

    我有以下数组 http jsfiddle net 3NZsK http jsfiddle net 3NZsK 我需要按数组的长度对数组进行排序 如何找出数组中最大 第二大 第三大 最小哪一个 例如 我有以下虚拟函数 它可以获取第二大数组 h
  • Facebook 图表 API 与营销 API

    有人可以解释一下 facebook 的图表 API 和营销 API 之间的区别吗 还应该针对哪些请求使用哪一个 我一直在使用 facebook python SDK 来创建广告 但我时不时会遇到速率限制 但在我的营销 API 仪表板中我没有
  • 如何为 eclipse 和 android studio 提供单一的 android SDK 和 AVD

    我是 Eclipse 用户 并在其上轻松开发了 Android 应用程序 但最近 当我看到 android studio 出现并由 android 网站提供时 我想尝试一下 因为它看起来非常有前途 我已经在我的 D 盘中下载了 androi
  • 减少 CosmosDB 的预配置吞吐量

    我有一个 cosmos DB 它在数据库级别配置了 4 个容器和 400 个 RU 我添加了 2 个容器 并且在没有警告的情况下 配置的 RU 增加到了 600 个 下面的文档解释了为什么会发生这种情况 第 4 个以上的每个容器至少需要额外
  • 使用多维 std::initializer_list

    我有一个关于在 C 中使用多维 std intializer list 的问题 我有一个 Matrix 类 我希望能够像这样初始化它 Matrix
  • 通过构建所有 asset_path 值来避免 *.js.erb 文件

    因此 我想避免使用 ERB 处理 JavaScript 文件 这样我就可以获得正确的资源路径 例如图像 目前 这似乎是流行的方法 var myImage 当然 这需要将文件名更改为 erb 以便对其进行处理 我宁愿将 ERB 的丑陋隔离到项