後、私はjQueryのフォームのプラグインを使用していない:、最初のコメントをポストに動作しますが、次のように
$('document').ready(->
options =
beforeSubmit: markComment
$('.comment_form').ajaxForm(options)
)
markComment = (arr, $form, options) ->
$form.closest('.comment_area').addClass('add_comment_here')
コメントが作成される場合は、以下のjavascriptをサーバー側で呼び出されます:
$('.add_comment_here').html("<%= escape_javascript(render(:partial =>'activities/comments', :locals => {:activity => @activity})) %>")
$('.add_comment_here').removeClass('add_comment_here')
$('.add_comments_box').fadeOut()
最初のコメント投稿はうまく動作しますが、2回目の試行ではAJAXメソッドを呼び出す前にフォームが送信されていたかのように「テンプレートがありません」というエラーが表示されます。複数のコメントに対して同じように動作させるにはどうすればよいですか?
これはHAMLでform_tagです:上記のコメントから判断する
=form_tag({ :action => 'create', :controller => 'comments' }, { :class => 'comment_form'}) do
'$(document).ready()'の後に '.comment_form'を追加していますか? –
いいえ、私はそうは思わないが、私も私が従うとは思わない。私は本当にjavascriptに新しいです。 – John
@mu_is_too_short、私は今理解していると思う、それはそれだと思う。 。最初に送信されたときに.comment_formを含むhtmlをレンダリングします。 。どのように私はこれを回避するか、それを修正するには? – John