次のコードがあります。
コメント.js.erb
alert("Alert");
アプリケーション.js
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})
jQuery.fn.submitWithAjax = function() {
this.submit(function() {
$.post(this.action, $(this).serialize(), null, "script");
return false;
})
return this;
};
$(document).ready(function() {
$(".comment_form").submitWithAjax();
})
フォームを表示:
<% form_for :comment, :url => comment_task_path(tasks.id),
:html => {:remote => true,
:class => "comment_form"} do |f|-%>
<%= f.text_field :remark, :placeholder => "Add Comments", :rows => 2,
:class => 'box',
:style => "width: 834px; height: 40px;"%>
<%= f.submit "Comment"%>
<% end -%>
コントローラーの方法:
def comment
@comment = Comment.new(params[:comment])
@comment.user_id = @current_user.id
@task.comments << @comment
flash[:notice] = "thank you"
if @comment.save
# what code do I put here to render comment.js.erb?
else
end
end
comment
メソッドで comment.js.erb をレンダリングする場合、どのコードを配置する必要がありますか? render to
とを試しrespond to
ましたが、それでも実行されません。