使用Jquery / Ajax更新注释而不使用remote:true

时间:2019-03-27 17:58:32

标签: jquery ruby-on-rails ajax

我正在处理我的食谱管理器应用程序的注释部分。我能够创建,删除和获取评论的正确编辑形式,但无法弄清楚如何实际提交编辑。到目前为止,这是我的代码。这有点混乱,任何帮助将不胜感激。

这是我的功能,可以正确地用表单替换注释,取消可以正确地还原更改,所有注释的代码和ajax代码都是尝试...

$(function submitEdit(){
    $('body').on("click",'button#submit_edit_comment', function(){

      var editedComment = new Object();

      editedComment.description = $('#comment_description').val();
      editedComment.rating = $('#comment_rating').val();

      $.ajax({
        url: this.formAction,
        type: "PATCH",
        data: JSON.stringify(editedComment),
        success: function(response) {
          console.log(response)
          debugger
          //$('div.edit_comment_form').replaceWith(response)
        }
      });
    });
  })

我的错误消息是:CommentsController#update中的ActionController :: ParameterMissing

-参数缺失或值为空:注释

这是Controller方法:

def update
    comment = find_by_id(Comment)
    respond_to do |format|
      if comment.update(comment_params)
        format.html { redirect_to recipe_path(comment.recipe), notice: 'Comment was successfully created.' }
        format.json { render json: comment.to_json(only: [:rating, :description, :id, :recipe_id],
                                          include: [user: { only: [:name]}])}
      else
        format.html { redirect_to recipe_path(comment.recipe), alert: "You can't leave the comment box blank. Please try again!" }
        format.json { render json: comment.errors, status:400 }
      end
    end
  end

和我的comment_params:

def comment_params
     params.require(:comment).permit(:rating, :description, :user)
  end

如果我删除了require(:comment),则错误为NIL没有方法错误更新 不确定如何解决这个问题。

我的存储库位于: https://github.com/Bartekswistak/fun_guy_chef/tree/jquery

0 个答案:

没有答案