为什么 Rails 会使用 link_to 重新声明 js 变量,但不会在重新加载时重新声明?

问题描述 投票:0回答:1

我有一个带有 Ruby 3 的 Rails 7 应用程序。

我的index.html.erb中有以下内容

<script>
    const chart_data = <%= sanitize @transactions %>;
</script>

如果我从 link_to 标记访问index.html.erb,控制台会显示:

Uncaught SyntaxError: redeclaration of const chart_data

但是如果我重新加载页面,它就可以正常工作。

为什么重新加载页面可以修复js变量重声明问题?

javascript ruby-on-rails
1个回答
0
投票

我也有同样的问题。 我通过将

data: {turbo: false}
添加到“link_to”标签来解决它。

这会重新加载页面,而不是从缓存加载页面,其功能与刷新页面相同。

这可能不是每个人的最佳解决方案,但我在一个页面和一个 JS 文件上遇到了这个问题,所以这是比更改 JS 文件更快的解决方案(我也不知道需要进行哪些更改)用 JS 来解决这个问题。)

© www.soinside.com 2019 - 2024. All rights reserved.