我有一个响应 .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 的一个错误?