我有一个带有 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变量重声明问题?
我也有同样的问题。 我通过将
data: {turbo: false}
添加到“link_to”标签来解决它。
这会重新加载页面,而不是从缓存加载页面,其功能与刷新页面相同。
这可能不是每个人的最佳解决方案,但我在一个页面和一个 JS 文件上遇到了这个问题,所以这是比更改 JS 文件更快的解决方案(我也不知道需要进行哪些更改)用 JS 来解决这个问题。)