我正在处理我的食谱管理器应用程序的注释部分。我能够创建,删除和获取评论的正确编辑形式,但无法弄清楚如何实际提交编辑。到目前为止,这是我的代码。这有点混乱,任何帮助将不胜感激。
这是我的功能,可以正确地用表单替换注释,取消可以正确地还原更改,所有注释的代码和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