0

次のように、Railsを部分的にレンダリングしたいライトボックスがあります。

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

残念ながら、これにより、実際のレンダリングではなく、「render:conversations=>new」というテキストがライトボックスに表示されます。これは、実行時にレンダリングするのではなく、パーシャルを追加しているためだと思います。私はこのスレッドのアドバイスに従いましたが、ほとんど成功しませんでした。次のように、追加行の前に「!=」を追加することをお勧めします。

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

これにより、「!=」が原因で構文エラーがスローされます。この記号を間違って使用している可能性がありますが、Googleでこの記号に関する情報を見つけることができません。これをどのように機能させることができますか?

4

1 に答える 1

2

私はあなたがしたいと思います:

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

しかし、コードが「render:conversations=>new」というテキストを追加する結果になる可能性があることを私は本当に理解していません。var data = "render :conversations => new";JavaScriptのように見え、escape_javascript(data)サーバー側のルビーであるため、について知ることができませんでしたdata#{また、には終わりがないことに気づきました}。これは本当にあなたがテストした正確なコードですか?

于 2012-07-19T19:47:29.187 に答える