评论rails 4中的friendly_id帖子

时间:2014-04-26 01:59:57

标签: ruby-on-rails ruby-on-rails-4 comments friendly-id

我刚刚为我的帖子网址实现了friendly_id,但是创建了评论错误“无路由匹配{:action =>”show“,:controller =>”posts“,:id => nil}缺少必填项键:[:id]“

评论控制器

before_filter :authenticate_user!

def create
    @comment = Comment.new(comment_params)
    @comment.post_id = params[:post_id]
    @comment.user_id = current_user.id

    @comment.save

    redirect_to post_path(@comment.post)
end

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

我已经测试过删除了friendly_id,这肯定会搞乱它。我认为这是因为当它正在寻找url / posts / post-id / comments时,创建注释会指向url / posts / post-name / comments(friendly_id)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

创建评论时,您未通过post_id。该错误表明:id为零,因为未发送params[:post_id]。在评论表单中,请务必为新记录设置post_id