Rails 资产管道:将资产包含在公共文件夹而不是资产文件夹中是否是一个好习惯?

2024-01-02

我一直在努力将 Google Analytics 添加到我的 Rails 4 应用程序中(请参阅这个帖子 https://stackoverflow.com/q/31428864/5086345).

我通过在新文件中添加 Google 提供的 JavaScript 代码来使其工作/public/assets/google-analytics.js. In application.html.erb我已经包括:

<%= javascript_include_tag 'google-analytics' if Rails.env.production? %>

这可行,但我因此没有将 JavaScript 文件包含在app/assets/javascripts/并将其放在公共文件夹中。因此 JavaScript 文件不会被编译。

您认为这是一个好的实践/Rails 方式吗?

我选择这个解决方案是因为否则我只能让它工作,如果我还添加Rails.application.config.assets.precompile += ['google-analytics.js']到 config/environments/production.rb (如果我将其添加到初始化程序 asset.rb 中,它不起作用)。我发现这比上面的解决方案更混乱。


在您的情况下,最好将分析脚本添加到views/layouts/application.html.erb的头部

另一种选择是使用名为 _analytics.hml.erb 的文件创建一个视图/共享目录,并将分析标记粘贴到其中,然后在需要的视图中执行此操作:

<%= render 'shared/analytics' %>

如果您只是部分渲染它,则根本不需要预编译它。什么是“最佳实践”取决于意见,但如果您以部分方式呈现它,您将节省一些时间来配置您尝试的方式并进行故障排除。

在我看来,部分是更“Railsy”的方式,除非您特别需要有人能够访问 www.your-site.com/analytics.js

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

Rails 资产管道:将资产包含在公共文件夹而不是资产文件夹中是否是一个好习惯? 的相关文章

  • 如何设置“attr_accessible”以便不允许使用 Ruby on Rails 访问模型的任何字段?

    如果在模型文件中我只有以下代码 class Users lt ActiveRecord Base end 这意味着什么 与模型相关的所有属性是否均可访问 我如何设置 attr accessible 以便not允许访问any领域的for那个型
  • Rails 序列化数据验证

    我有一个通过默认 AR 行为序列化为 YAML 的字段 例如 它目前位于哈希数组中 name gt hi url gt bye name gt hi url gt bye name gt hi url gt bye 有没有办法可以在其中一些
  • -bash:pg_dump:找不到命令

    我正在尝试在本地为我的 Rails 应用程序提取一个生产数据库 我本地的 postgres 版本太低 所以我需要从 9 4 1 更新到 Postgresql 9 6 5 我通过 Homebrew 安装了 Postgres 9 6 6 如下所
  • Rails 验证日期范围的唯一性

    我有一个涉及员工缺勤记录的应用程序 我需要确保每条记录的开始日期和结束日期不重叠 例如 如果我输入了从今天开始到明天结束的缺勤记录 则不可能以任何方式在该日期范围内输入另一个缺勤记录 所以我不能制作一个从前天开始 然后在后天或任何更晚的日期
  • Rails:调用其他模型的无表模型

    我有一个 Rails 应用程序 其中包含一些模型类 例如Category Subcategory User ETC 为了实现一个不太简单的过滤器功能 我构建了一个过滤器类的层次结构 FilterCategory FilterSubcateg
  • 在 Rails 4 中渲染部分/rake 任务/后台作业/模型中的视图

    我读过很多关于在 rake 任务 后台作业 模型中渲染 Rails 部分和视图的内容 我在 Stackoverflow 和网络上找到的绝大多数内容都描述了在 Rails 3 中工作的方法 但它们似乎已经过时了 而且我没有让它们工作 即使花了
  • 如何跳过 Devise SessionsController 的 before_filter ?

    我有一个before filter in my ApplicationController 也就是说 对于我的项目中的每个控制器 我怎么能够skip before filter对于设计的SessionsController创造行动 这是我的
  • 使用Rails UJS,如何从函数提交远程表单

    我正在使用Rails UJS 我有一个表单设置来进行远程提交 如下所示
  • ruby on Rails,会话过期通知

    我正在使用 ruby 1 9 3 和 Rails 3 2 我的实际会话处理如下所示 会话助手 def sign in user cookies remember token value user remember token expires
  • 用于 RESTful 轨道应用程序的简单面包屑

    是否有任何辅助方法 除了默认 Rails 面包屑导航 http wiki rubyonrails org rails pages Breadcrumbs 为特定页面动态生成面包屑导航 而无需在 RESTful 应用程序中传递琐碎的参数 也就
  • 如何在 JS Rails 响应中包含 HTML?

    我有一个响应 HTML 和 JS AJAX 查询的 FooController app controllers foo controller rb class FooController lt ApplicationController l
  • 设备注册控制器获取零资源的自定义操作

    基本上我想要有两个单独的操作来更改密码和更改电子邮件 而不是只有一个 我已经更新了我的路由以指向继承自 Devise RegistrationsController 的新控制器 我的路线 rb devise for users contro
  • Twitter Bootstrap 中下拉链接的模态

    我正在尝试从下拉菜单中的链接进行模式启动 该模式似乎已启动 网站变为灰色 但看不到 来自不在下拉列表中的常规链接的模态工作得很好 我对 jquery 进行了愚弄 但由于我是 jquery 的新手 所以没有任何结果 这是我的网站代码
  • 数据库分片和 Rails

    在 Rails 中处理分片数据库的最佳方法是什么 分片应该在应用层 活动记录层 数据库驱动层 代理层还是其他层处理 各自的优点和缺点是什么 FiveRuns 有一个名为的 gem数据结构 https github com bpot data
  • 如何从rails控制台将数据添加到数据库

    我有一个User model gt gt u User new gt
  • 在 CircleCI 中设置 Elasticsearch 和 Ruby on Rails

    我正在尝试在 Rails 应用程序中使用 Elasticsearch 设置 CircleCI 我想已经配置了镜像 但是如何在 CI 中连接到它 到目前为止我已经尝试过 https github com elastic elasticsear
  • 在版本 4.4.6 中禁用 ckeditor 上下文菜单

    我在 Rails4 项目中使用 ckeditor 我尝试了 ckeditor gem 和 ckeditor rails gem 来提供 ckeditor 库 这里有多个帖子 人们希望删除 ckeditor 上下文菜单 以便可以显示本机浏览器
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 自定义通用 Rails 错误消息

    我们的 Rails 应用程序被设计为链接到多个客户端数据库的单个代码库 根据子域 应用程序确定要连接到哪个数据库 我们使用液体模板为每个客户定制演示文稿 我们无法为每个客户定制通用的 我们很抱歉 出了点问题 消息 谁能推荐一种方法让我们能够
  • 如何在服务调用后检查 rspec 中的数组更改?

    目标很简单 例如我们有一个数组 name ghost state rejected name donkey state rejected 运行服务调用后UpdateAllUsers 这会将所有用户更改为 accepted name ghos

随机推荐

  • pip:强制安装忽略依赖项

    有没有办法强制安装 pip python 包 忽略所有无法满足的依赖项 我不在乎这样做有多么 错误 我只是需要这样做 抛开任何逻辑和推理 点有一个 no dependencies转变 你应该使用它 欲了解更多信息 请运行pip instal
  • 如何在android中的videoview中播放.mp4视频?

    我正在开发视频播放器应用程序 我想播放 mp4本机视频视图中的视频 我无法使用 URL 播放视频 我收到错误 抱歉 这部影片无法播放 而且我也无法在本机视频视图中播放下载的视频 我在视频视图中播放视频的代码 String mUrl http
  • 检测视频是否应用了“faststart”

    在 MP4 上运行 qt faststart 时 您实际上是从后面获取元数据并将其放在文件的前面 就我而言 Flash 可以在视频完全加载之前正确开始播放视频 我有大量视频 我正在通过 shell 脚本运行并连夜进行编码 然而 当我上传时
  • 创建日历以在 Jasper 服务器中选择日期(和时间)

    在此输入图像描述 https i stack imgur com w0sgy png jtsnr 来自 jasper 服务器的快照 我在文本框 Dateto 外部单击 然后显示日历 但如前面的示例所示 框外没有日历图标 此外 文本框接受输入
  • unity 2D 玩家运动参数不存在

    我已经成功制作了一个自上而下的射击游戏 现在我正在研究动画 我已经遵循了 Pixelnest io 的几个教程 但奇怪的是 我收到一个错误 说 参数 moveRight 不存在 unity 中的动画对我来说是全新的 并且一直在尝试尽可能多地
  • NestedScrollview 中的 RecyclerView 替代品

    我有一个具有此层次结构的布局 有时我需要更新我的 recyclerview 元素 但它冻结了主线程 我猜是因为滚动视图需要再次测量它 我真的很想知道我应该怎么做 用layoutinflater 替换recyclerview Recycler
  • 从ios本机代码访问AsyncStorage中存储的数据(目标c)

    我需要从 iOS 本机 Objective C 代码访问存储在 AsyncStorage 中的数据 这是需要同步数据的 而不是将 App 事件发送到 JS 然后将其发送回本机代码 我刚刚遇到了同样的问题 我的解决方案是将代码移至本机侧 On
  • 为什么不按照词法封闭的“define”来实现“let”?

    我已经使用 lisp 家族语言工作了好几年 感觉我对它们有了很好的掌握 我现在正在编写自己的 lisp 当然 这是一种时尚 但几乎完全避免重新实现 Scheme Common Lisp 和朋友使用过的相同模式 我总是觉得奇怪的一件事是所有的
  • 来自数据库的 之间的 PHP eval() 代码

    我希望能够将 PHP 放入数据库并运行它 我必须这样做 因为我将页面布局存储在数据库中 并且每个页面布局彼此不同 但是在某些情况下 我想对某些页面使用动态内容 Assume query from db是从数据库返回的字符串 PHP 应该只
  • NDIS 和微型端口驱动程序

    我正在尝试使用 Visual Studio 2012 中提供的 WDK 工具修改以太网驱动程序 WDK 中提供的示例包括 微型端口适配器 和 NDIS 轻量级过滤器 等 我仍处于驱动程序编写的最初阶段 因此发现很难浏览代码 在 Visual
  • C++11 中的常量表达式中是否允许使用逗号运算符?

    在回答的过程中这个问题关于SO https stackoverflow com questions 16563114 are these null pointers or are they pointers to address 0 165
  • 使用端口 1433 的 Azure 输入端点被阻止?

    我正在运行一个 Windows Azure 辅助角色 该角色在端口 1433 上公开 WCF 服务 该端口也被定义为输入 TCP 端点
  • 自 SonarQube 5.2 起,批处理端不再支持任务

    我安装 SonarQube 5 2 和 Sonar runner 2 4 最新版本 我设法启动 SonarQube 但在尝试运行 Sonar runner 时出现以下错误 ERROR Unable to execute Sonar ERRO
  • 在devise 2.0中使用omniauth从facebook获取用户个人资料大图片

    我想从 Facebook 获取用户个人资料大图或普通图片 现在我使用以下代码从用户个人资料图片中获取方形版本 image gt access token info image http graph facebook com id pictu
  • 返回布尔值的 Java 方法的命名约定

    我喜欢在其他语言中的方法 函数名称末尾使用问号 Java 不允许我这样做 作为解决方法 我还能如何在 Java 中命名返回布尔值的方法 使用is has should can在某些情况下 在方法前面听起来不错 有没有更好的方法来命名这些方法
  • 如何在 PostgresQL 10 中备份分区表

    是否可以使用 PostgreSQL 10 备份特定分区表 使用时 sudo pg dump Fc f home schema backup t schema partitioned table dbname 我只得到基表的骨架 没有任何值
  • 锁分割与锁条带化

    以下是 Joshua 的 Effective Java 的摘录 如果您确实在内部同步您的类 您可以使用各种 实现高并发的技术 如锁分割 锁 条带化和非阻塞并发控制 上面表明锁分割和锁条带是两种不同的技术 但是当我试图找出它们之间的区别时 我
  • 如何将 Django 应用程序部署到 (AWS) 域名?

    我只使用 Django 几个星期 刚刚学习了部署 我有一个 AWS EC2 实例 我可以将我的 Django 网站 应用程序部署到其中 即 如果我在浏览器中访问 IP 地址 我就可以访问我的网站 但是 我不知道如何将同一个网站部署到我在 A
  • std::initializer_list{x, y, z} (CTAD) 有效吗?

    当构建一个std initializer list u 明确地 模板参数 U 被推导 例如 使用类模板参数推导 CTAD 换句话说 我知道以下陈述是有效的 std initializer list u
  • Rails 资产管道:将资产包含在公共文件夹而不是资产文件夹中是否是一个好习惯?

    我一直在努力将 Google Analytics 添加到我的 Rails 4 应用程序中 请参阅这个帖子 https stackoverflow com q 31428864 5086345 我通过在新文件中添加 Google 提供的 Ja