Ruby on rails 如何从用户处获取所有帖子
在我的rails应用程序中,我有一个用户和一个Post-scaffold。我想获得所有与用户相关的帖子。例如,我希望能够做到以下几点: 本地主机:3000/users/1/postsRuby on rails 如何从用户处获取所有帖子,ruby-on-rails,Ruby On Rails,在我的rails应用程序中,我有一个用户和一个Post-scaffold。我想获得所有与用户相关的帖子。例如,我希望能够做到以下几点: 本地主机:3000/users/1/posts 它应该给我所有用户_id=1的帖子。我知道如何通过rails控制台为特定用户获取所有帖子。我只是想知道如何才能完成上面的例子。我是否必须在用户控制器中添加另一个方法 无需添加新操作即可完成。像这样: class PostsController < ApplicationController def ind
它应该给我所有用户_id=1的帖子。我知道如何通过rails控制台为特定用户获取所有帖子。我只是想知道如何才能完成上面的例子。我是否必须在用户控制器中添加另一个方法 无需添加新操作即可完成。像这样:
class PostsController < ApplicationController
def index
@user = User.find(params[:user_id])
@posts = @user.posts
end
end
class PostsController
您无需添加新操作即可完成此操作。像这样:
class PostsController < ApplicationController
def index
@user = User.find(params[:user_id])
@posts = @user.posts
end
end
class PostsController
我对一个可能有帮助的相关问题写了一个冗长的答案:
我写了一个很长的答案,回答了一个可能有用的相关问题:
另一个一行示例如下,将其添加到索引中
@posts = User.find(params[:user_id]).posts
另一个单行示例如下,将其添加到索引中
@posts = User.find(params[:user_id]).posts
我收到以下错误:没有与[GET]“/users/1/posts”匹配的路由。我必须将此映射添加到routes.rb吗?您使用的是嵌套路由,因此我希望您希望为特定用户提供帖子列表,因此您必须将此列表放入PostsController并索引操作。啊哈,好的,是的,您必须在routes中定义用户资源的帖子资源。rb我收到此错误:没有与之匹配的路由[GET]“/users/1/posts”。我必须将此映射添加到routes.rb吗?您使用的是嵌套路由,因此我希望您希望为特定用户提供帖子列表,因此您必须将其提交给PostsController并索引操作。啊哈,好的,是的,您必须在routes.rb中定义用户资源的帖子资源