我的 Rails 应用程序中有一个 User 和 Post 脚手架。我想获取与用户关联的所有帖子。例如,我希望能够做这样的事情:
本地主机:3000/users/1/posts
它应该给我所有 user_id = 1 的帖子。我知道如何通过 rails 控制台为特定用户获取所有帖子。我只是想知道我如何才能完成像上面的例子这样的事情。我是否必须在用户控制器中添加另一种方法?
我的 Rails 应用程序中有一个 User 和 Post 脚手架。我想获取与用户关联的所有帖子。例如,我希望能够做这样的事情:
本地主机:3000/users/1/posts
它应该给我所有 user_id = 1 的帖子。我知道如何通过 rails 控制台为特定用户获取所有帖子。我只是想知道我如何才能完成像上面的例子这样的事情。我是否必须在用户控制器中添加另一种方法?
You can do it without adding new action. Like this:
class PostsController < ApplicationController
def index
@user = User.find(params[:user_id])
@posts = @user.posts
end
end
另一行示例如下,将其添加到您的索引中
@posts = User.find(params[:user_id]).posts
我为一个可能有帮助的相关问题写了一个冗长的答案: