0

我有一个与用户相关联的帖子模型(想想“帖子所有者”)。

class Post < ActiveRecord
  belongs_to :user
  (...)
end

在我的 Post#index 操作/视图中,我只想显示属于当前登录用户的帖子。

因此,第一种方法是在 Post 模型中以某种方式设置默认范围,但是由于 current_user 仅在运行时才知道,这不适合模型(在 MVC 意义上),而是适合控制器。

那么,在控制器中实现“默认范围”的 Rails 方式是什么?

4

2 回答 2

2

如果您的 User 类与他们的帖子有关联,如下所示:

class User < ActiveRecord::Base
  has_many :posts
end

然后在您的控制器中,您可以简单地使用

current_user.posts

获取当前用户的所有帖子

于 2013-09-26T12:15:55.783 回答
1

最简单和最干净的方法是确定当前用户帖子的范围(就在控制器中):

current_user.posts

您可以在其上链接多个选择。

于 2013-09-26T12:15:24.747 回答