gpt4 book ai didi

javascript - 如何使用资源管道在 Rails 中将文件结尾 <script> 替换为 JS?

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:53 24 4
gpt4 key购买 nike

所以我有一个 HTML 文件,我正在将其转换为 Rails 应用程序中的 ERB View 。

但是,在 HTML 中,我有一个 JS 片段必须最后运行(在其他所有内容之后),因为它处理页面滚动的方式。

所以我们有所有的 HTML,然后就在 </body> 之前,我有这个:

<script>
// Some awesome JS that controls the scrollbar
</script>

但我还没有弄清楚如何让它在 Asset Pipeline 中正常工作,遵循 Rails 约定。

这个文件是我的Home#Index ,这是我的应用程序针对未登录用户的营销网站。

如果我把这个<script>控制此布局顶部的标签 Home#Index ,它不起作用。

如果我将这个 JS 移到我的 app/assets/javascripts/home.js 中这也不起作用,因为它加载 home.js在加载之前 application.js .

我也不想把这个放进去application.js因为它会干扰我的应用程序其余部分中具有类似名称的其他类。

在不做 <script>JS</script> 的情况下,最好的 RAILSy 方法是什么?在我的里面app/views/home/index.html.erb ,因为这感觉不对。

最佳答案

以下步骤可能会解决您的问题:

step:1 app/views/home/index.html.erb (provide source of JS.)

<%= javascript_include_tag 'custom/xyz.js', 'data-turbolinks-track' => true %>

step 2: assets/javascrips/custom/xyz.js (JS goes here)

$(function(){
//js code goes here
});

step 3: application.js (the require_directory directive which includes all JavaScript files only in the directory specified, without recursion.)

//= require_directory .

step 4: application.rb

config.assets.precompile += %w(custom/*.js)

关于javascript - 如何使用资源管道在 Rails 中将文件结尾 &lt;script&gt; 替换为 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40455630/

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