Rails 有条件地计算子模型
Rails Counting Child Models Conditionally
所以我有一个用户有很多帖子的应用程序。这些帖子可以发布或起草。我通过枚举进行了此设置,它看起来像这样:
class User < ActiveRecord::Base
has_many :posts
end
Post型号:
class Posts < ActiveRecord::Base
belongs_to :user
enum draft_status: [:draft, :published]
end
我想设置一个控制器变量,仅 returns 有任何已发布文章的用户。我该如何设置这样的变量?
我试过:
@bloggers = User.all.where('posts.published.any? =', true)
不知道我该如何定义它?
你可以使用这个,例如:
@bloggers = User.where(id: Post.published.uniq.pluck(:user_id))
所以我有一个用户有很多帖子的应用程序。这些帖子可以发布或起草。我通过枚举进行了此设置,它看起来像这样:
class User < ActiveRecord::Base
has_many :posts
end
Post型号:
class Posts < ActiveRecord::Base
belongs_to :user
enum draft_status: [:draft, :published]
end
我想设置一个控制器变量,仅 returns 有任何已发布文章的用户。我该如何设置这样的变量?
我试过:
@bloggers = User.all.where('posts.published.any? =', true)
不知道我该如何定义它?
你可以使用这个,例如:
@bloggers = User.where(id: Post.published.uniq.pluck(:user_id))