我有一个rails api,它有一个模型帖子,可以has_many评论,反之亦然。我正在使用嵌套路由。
我正在尝试使用以下路线获取特定帖子的所有评论:
/posts/:post_id/comments
我发送了一个获取 http 请求到
http://localhost:3000/posts/1/comments
但是无论我在 url 中传递什么帖子 id,它都会返回数据库中的所有评论。
这是我的路由的样子,如果您需要查看更多代码,请告诉我。
post_comments GET /posts/:post_id/comments(.:format) comments#index
POST /posts/:post_id/comments(.:format) comments#create
new_post_comment GET /posts/:post_id/comments/new(.:format) comments#new
edit_post_comment GET /posts/:post_id/comments/:id/edit(.:format) comments#edit
post_comment GET /posts/:post_id/comments/:id(.:format) comments#show
PUT /posts/:post_id/comments/:id(.:format) comments#update
DELETE /posts/:post_id/comments/:id(.:format) comments#destroy
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
感谢您的任何帮助。
在CommentsController
的index
操作中,请确保在获取comments
的记录时指定post_id
,即获得特定post_id
的所有注释:
def index
#...
@comments = Comment.where(post_id: params[:post_id])
#...
end