【问题标题】:CoffeeScript in Rails does not correctly render partialRails 中的 CoffeeScript 无法正确渲染部分内容
【发布时间】:2016-02-10 15:58:09
【问题描述】:
$('#some').append('<%= render 'my_partial' %>')

并将其呈现为文本。它总是转义html。我想尽办法避免逃跑。

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

结果是一样的。

【问题讨论】:

  • 用双引号试试。 $('#some').append("&lt;%= j render('my_partial') %&gt;") 让我知道它是否有效。

标签: ruby-on-rails coffeescript render


【解决方案1】:

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

但更好的问题是为什么?这样做会将您的咖啡与 rails 和 ruby​​ 紧密结合,从而使重用变得更加困难——就像将 css 内联到 HTML 中一样。

IMO 有两个更好的选择:

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

  2. 如果您只有一个变量要传递,请尝试&lt;%= javascript_tag "my_func(#{@my_var})" %&gt; 之类的方法。这将使用该变量调用一个 javascript 函数。

【讨论】:

  • 除了我描述的那一刻之外,没有 erb 扩展它可以正常工作。
猜你喜欢
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 1970-01-01
  • 2011-10-17
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多