私はRailsアプリケーションでjQuery Form Pluginを使用しています。私はこのようなフォームしている:私application.jsファイルがjQuery Form PluginをRails js.erbテンプレートで使用する方法は?
<form action="/comments" id="comment_form" method="post">
<textarea cols="60" id="comment_comment" name="comment[comment]" rows="3"></textarea>
<input id="comment_submit" name="commit" type="submit" value="Add comment" />
</form>
があります
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
});
$(document).ready(function(){
$("#comment_form").ajaxForm();
});
私のコメントコントローラは、このようなものです:
def create
@comment = Comment.new(params[:comment])
respond_to do |wants|
if @comment.save
flash[:notice] = 'Added comment.'
wants.js
end
end
end
そして、私は、いくつかのjqueryのコードを持っています/ views/comments/create.js.erbのように:
$("#comment_form).hide();
とその他のもの。
私の問題は、create.js.erb内のjQueryコードは決して起こらないということです(フォームが非表示にならない)。代わりにapplication.jsでこのコードを使用すると(Railscastのおかげでこのコードは役に立ちます)
すべてが正常に動作します。 create.js.erbのコードはすごくうまくいきます!むしろjQuery Formプラグインを使用したいのですが、create.js.erbコードを実行する方法を理解できません。次のような場合:
$("#comment_form").ajaxForm({success: function(){$("comment_form").hide()}});
jQueryコードが動作します。しかし、私はerbテンプレートを実行する必要があります(私は部分的な内部をレンダリングするようなことをするためです)。
ありがとうございました。