0

我有一个响应 .js.coffee 文件的控制器操作,我的 Rails 3.2.12 版本应该支持该文件。问题是解析中的某些内容允许用户提供的数据导致 javascript 失败。我已经像这样简化了这个例子:

action.js.coffee 文件:

$('my_container').append("<%= j render(:partial => 'my_partial') %>")

my_partial.html.erb 文件只包含不应插入的一行:

"#{this should not be evaluated}"

实际呈现的 javascript

$('my_container').append("\"" + (this(should(!be(evaluated)))) + "\"\n\n");

哇!到底是怎么回事?我可以通过从文件名中删除 .coffee 来解决这个问题,但这似乎是 Rails 的一个错误?

4

1 回答 1

1

我通过更改 js.coffee 文件中的双引号解决了这个问题,但我仍然不确定它是一个错误。希望这对其他人有帮助!

改变:

$('my_container').append("<%= j render(:partial => 'my_partial') %>")

$('my_container').append('<%= j render(:partial => 'my_partial') %>')

于 2013-07-30T19:30:38.733 回答