Ruby On Rails Ajax提交两次提交

时间:2015-03-16 23:40:14

标签: javascript jquery ruby-on-rails ruby ajax

所以我决定在RoR上创建一个博客,一切都很好我收到了提交的评论,但是当我去“更新”提交方法以允许在评论发布时不刷新页面时(ajax)但是现在每当我出于某种原因在页面上发表评论时,它都会从评论提交中循环发送,我会收到两条同时出现相同消息的评论。

   <h2>Comments</h2>
 <div id="comments">
   <%= render :partial => @post.comments %>
 </div>

 <%= form_for [@post, Comment.new], :remote => true do |f| %>
   <p>
     <%= f.label :body, "New comment" %><br/>
     <%= f.text_area :body %>
   </p>
   <p><%= f.submit "Add comment", disable_with: "Adding Comment..." %></p>
 <% end %>

这是显示点,正如您所看到的,我试图看看是否禁用带有disable_with的按钮会有所帮助,但它没有。

以下是comment_controller

class CommentsController < ApplicationController
  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create!(comment_params)
    respond_to do |format|
        format.html { redirect_to @post }
        format.js
      end
   end

        private

        def comment_params
                params.require(:comment).permit(:commenter, :body, :post_id)
        end
  end 

感谢您的任何建议。

1 个答案:

答案 0 :(得分:3)

看起来你有两套在本地运行的预编译资产:。

在你的机器上试试这个:

RAILS_ENV=development bundle exec rake assets:clobber
RAILS_ENV=development bundle exec rake assets:precompile

一直发生在我身上。