我有一些简单的JS ERB文件,第一次完美运行。然而,问题在于,当多次按下JS的触发器时,它不会在客户端工作(即使它在服务器端工作) - 我怀疑它与Turbolinks 5有关。
我的JS.erb就是这样一个例子:
$("#a-<%= @answer.id %>-accept-answer i.accepted-answer-checkbox.fa.fa-check-square-o").addClass('fa-check-square voted');
$("#a-<%= @answer.id %>-accept-answer i.accepted-answer-checkbox.fa.fa-check-square-o").removeClass('fa-check-square-o');
我Questions
控制器&amp; /questions/accept_answer.js.erb
。
但是,现在,我的questions.coffee
文件是空白的。
解决这个问题的最佳方法是什么?
答案 0 :(得分:0)
老实说,CoffeeScript有Ruby样式的插值,所以最简单的转换方法就是去做像
这样的事情。s/DIV=\d+/DIV=25/g
但是你正在尝试做,你可能会更好地通过切换这三个类,使它们处于相互对立的初始状态,如下所示:
$("#a-#{@answer.id}-accept-answer i.accepted-answer-checkbox.fa.fa-check-square-o").addClass 'fa-check-square voted'
$("#a-#{@answer.id}-accept-answer i.accepted-answer-checkbox.fa.fa-check-square-o").removeClass 'fa-check-square-o'
当然,我可能会把它变得太复杂,但这似乎解决了切换所需类的问题。