gpt4 book ai didi

ruby-on-rails - Rails Assets 管道 : Can it be good practice to include asset in public folder instead of asset folder?

转载 作者:行者123 更新时间:2023-12-04 05:38:18 31 4
gpt4 key购买 nike

我在将 Google Analytics 添加到我的 Rails 4 应用程序时遇到了一些困难(参见 this post)。

我通过在 /public/assets/google-analytics.js 中的新文件中添加 Google 提供的 JavaScript 代码来实现它。 .在 application.html.erb我已经包括:

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

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

你会说这是好的做法/Rails 方式吗?

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

最佳答案

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

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

<%= render 'shared/analytics' %>

如果您只是部分渲染它,则根本不需要预编译它。什么是“最佳实践”取决于意见,但如果您将其呈现为部分内容,您将花费一些时间来配置和排除您尝试这样做的方式。

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

关于ruby-on-rails - Rails Assets 管道 : Can it be good practice to include asset in public folder instead of asset folder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31456598/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com