Rails 中的 CoffeeScript 无法正确呈现部分


$('#some').append('<%= render 'my_partial' %>')

它将其呈现为文本。它总是转义 html。我用各种方法避免逃跑。

$('#some').append('<%= j render('my_partial') %>')
$('#some').append('<%= raw render('my_partial') %>')

结果是一样的。

如果您希望将咖啡(或任何文件)解释为ERB,则需要在文件名后附加.erb,即app.coffee.erb

但一个更好的问题是为什么? 这样做会把你的咖啡与轨道和红宝石紧密结合,使重用变得更加困难 - 就像将css内联到HTML中一样。

海事组织有两种更好的选择:

  1. 在 HTML 中使用数据属性并使用 JavaScript 访问它们

  2. 如果只有一个变量要传递,请尝试类似 <%= javascript_tag "my_func(#{@my_var})" %> 。 这将使用该变量调用一个 javascript 函数。

最新更新