对帖子#2有1条评论。当我尝试为帖子#1创建第一个评论时,我得到了
/帖/ 1 /评论/ 2
在评论的索引页面上,它列出了所有帖子的相同评论,无论其ID如何。
comments_controller
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.build(comment_params)
@comment.user = current_user
respond_to do |format|
if @comment.save
format.html { redirect_to [@post, @comment], notice: 'It was successfully created.' }
format.json { render action: 'index', status: :created, location: @comment }
else
format.html { render action: 'new' }
format.json { render json: @comment.errors, status: :unprocessable_entity }
end
end
end
路由
resources :posts do
resources :comments
end
答案 0 :(得分:2)
在评论的索引页面上,它列出了所有帖子的相同评论, 不管他们的身份证。
您必须已定义CommentsController#index
,如下所示:
def指数
@comments = Comment.all
结束
这就是为什么在评论的索引页面上,你会看到所有帖子都有相同的评论。
假设您将嵌套路由设为:
resources :posts do
resources :comments
end
更新CommentsController#index
,如下所示:
def index
@post = Post.find(params[:post_id])
@comments = @post.comments
end
答案 1 :(得分:0)
您应该删除数据库并重新创建它,以便从头开始计数。
rake db:drop
rake db:create
所有关于数据库中密钥(如:id)的自动增量功能。