0

我有一个灯箱,我想在其中渲染 Rails 部分,如下所示:

var data = "render :conversations => new";
$('#lightbox').append('#{escape_javascript(data)');

不幸的是,这会导致灯箱中出现文本“render :conversations => new”,而不是实际呈现。我认为这是因为我在附加部分而不是在运行时渲染它。我遵循了关于这个线程的建议,但收效甚微。它建议我在附加行前面添加一个“!=”,如下所示:

!= "$('#lightbox').append('#{escape_javascript(data)');"

由于“!=”,这会引发语法错误。也许我用错了这个符号,但我在谷歌上找不到任何关于它的信息。我怎样才能让它工作?

4

1 回答 1

2

我想你想做:

$('#lightbox').append('#{escape_javascript(render :conversations => new)');

但我真的不明白您的代码如何导致附加文本“render :conversations => new”。var data = "render :conversations => new";看起来像 JavaScript 并且escape_javascript(data)是服务器端 ruby​​,所以它不知道data. 我还注意到 the#{没有结尾}。这真的是您测试的确切代码吗?

于 2012-07-19T19:47:29.187 回答