我想在下面的ERB中包含这个coffeescript变量(chordCount
),但当它运行时会出现错误,因为它试图将chordCount解释为ruby变量。如何在再培训局使用它?
经由CCD_ 3链路到达CCD_ 2(下面)。它可以完美地处理上面提到的一个异常(例如,如果我用"4"替换变量,那么它可以正常工作,但使用该变量会引发错误)。
chordCount = $('.chordSearchForm').find('.chordSearchFieldRow').length
# define the html for the row to add
rowToAdd = "<div class='row chordSearchFieldRow'>" +
"<div class='large-8 small-12 columns'>" +
'<%= collection_select :chords, :chord_#{chordCount}, Chord.order("name ASC"), :id, :name, {}, { :multiple => false, class: "chordSearchField", id: "chord_#{chordCount}_search_field" } %>' +
"</div>" +
"</div>"
谢谢!
首先,您不希望编写这样的html。使用标签助手:
http://api.rubyonrails.org/classes/ActionView/Helpers/TagHelper.html#method-i-content_tag
其次,为了存储javascript中使用的变量,最好将其设置在数据属性中。
例如:
content_tag(:p, data: { chord_count: chordCount })
这将使它可以通过在您的js中使用
$("p").data("chord_count")
如果您使用jquery。