2016-09-23 8 views
0

イベントが発生したときにcoffeescriptを.appendに部分的に使用したいと思います。問題は、.changeイベントが発生したときに、以下のコードが部分的にレンダリングされず、代わりに<%= j render(:partial => 'participant_data').html_safe %>がテキストとしてWebサイトに表示されることです。Rails:.coffeeファイルに部分的にレンダリング

$('input[type=number][id=quantity-select]').change -> 
    $('#insert-here').append('<%= j render(:partial => \'participant_data\') %>') 
    return 

私は$('#insert-here').append("Test")を実行すると単語Testがページに示されています。だから私は正しいdivをターゲットにしており、appendのテキストに対応していますが、テキストの代わりに部分的にレンダリングしたいと思います。

部分的なレンダリングのためにコードを変更する必要があることを教えてください。

+0

私はコーヒーでは動作しませんでしたが、js.erbはよさそうです。コーヒーファイルとコントローラーを見せてください。 – nobilik

答えて

0

お試しください。

$('#insert-here').append("#{escape_javascript(render partial: 'participant_data')}") 

更新回答:一重引用符で試してください。

$('#insert-here').append('<%= j render(:partial => \'participant_data\') %>') 

参考:

How to escape while rendering a js.coffee file in response to an action

+0

このコードを使用すると、次のエラーメッセージが表示されます。 'ReferenceError:escape_javascript is defined' –

+0

ありがとうございます。更新されたコードを実行すると、次のエラーが発生します。 'ExecJS :: RuntimeError SyntaxError:[stdin]:50:57:unexpected identifier' –

関連する問題