我是Coffeescript的新手,以及它如何在RoR上运行,所以我很难解决这个问题:
我的资产文件中有一个名为candidate.coffee的文件,该文件是在scaffold命令中生成的。我编码了这个:
masks = document.querySelectorAll('[data-mask]')
alert masks.length
在候选人的观点中,我用form_for编写了一些这些输入,所有这些都带有数据掩码属性。
<%= f.label :cep, "CEP" %>
<%= f.text_field :cep, data: { mask: 'cep' } %>
...
所以,问题是:我知道Rails到达candidate.coffee因为Alert函数有效,它给我0(零)长度。但我不知道为什么document.querySelectorAll不起作用。
我读到资产中的所有.coffee文件都已编译,但我没有找到Rails如何将.coffee文件与视图文件相关联。这意味着,这个代码在candidate.coffee
中masks = document.querySelectorAll('[data-mask]')
应该搜索我项目中的所有视图文件?说,我确实使用任何类型的HTML标签
<script src=... script>
在我的视图文件中,并没有更改我的Application.js。
我该如何解决这个问题?有人可以帮我解决Rails如何在带有视图的.coffee / js文件中进行相关功能的问题?
答案 0 :(得分:2)
在运行该脚本之前,您需要确保文档已完全加载。尝试添加
$ ->
位于文件的顶部,并确保正确缩进其余代码,因为这是与document.ready()相同的coffeescript