如何在rails助手中的插值ERB字符串中包含coffeescript变量



我想在下面的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。

最新更新