Rails ERB Contains Javascript

Rails ERB Contains Javascript

本文关键字:Javascript Contains ERB Rails      更新时间:2023-09-26

我是Rails的新手,我遇到了一个问题,我需要将一些Javascript放入ERB文件中。例如,

<script>
    function init() {
        ....
    }
</script>
<% @list.each do |l| %>
   ....
<% end %>

在模板中,我有另一个脚本来检查函数"init()"是否存在,它将在页面完成加载后执行。

当我在测试服务器上尝试时,init()无法执行。我检查了网页的来源从Web浏览器的""部分缺失。如果我通过单击Web浏览器上的重新加载按钮重新加载页面,该部分将再次出现。

我尝试改变一些东西,例如HTML中的对象类,它可以在保存ERB文件后正确更新,但只有javascript不能在页面首次加载时加载,需要从浏览器单击重新加载页面。

我想知道是Rails的缓存问题还是我错了?我目前在Mac上使用Rails 4.2.1。

谢谢!

如果您只需要将一些变量从erb传输到javascript,则可以在该页上的特殊标记上使用隐藏字段或属性。所以我敢肯定,你真的不需要在erb文件中使用脚本标签,除非你必须包含一些第三方javascript。

我很确定你的问题出现是因为你正在使用自动集成的涡轮链接。

turbollinks将评估它访问的页面中的任何脚本标签,如果这些标签没有类型或类型是text/javascript。所有其他脚本标签将被忽略。

从:https://github.com/rails/turbolinks

您可以将它们从Gemfile中删除,然后再试一次,以验证我的假设-或者只是将类型包含到脚本标记中。