范围定义查询不起作用,但独立查询是可以的

时间:2016-04-07 06:58:09

标签: ruby-on-rails rails-activerecord ruby-on-rails-5

select FROM_UNIXTIME(DATE_COLUMN/1000,'%Y-%M-%d %H:%i:%s %f') from TABLE_NAME;

+-------------------------------------------------------+
| FROM_UNIXTIME(CREATETIME/1000,'%Y-%M-%d %H:%i:%s %f') |
+-------------------------------------------------------+
| 2016-March-18 16:02:54 342000                         |
+-------------------------------------------------------+

为什么class Post < ApplicationRecord scope :my_scope, -> { where(user_id: 2) } end 会返回所有帖子?

以下两个语句只能正确返回包含user_id 2的帖子:

category.posts.my_scope

我可以不在链式对象上使用范围吗?

1 个答案:

答案 0 :(得分:1)

从这里看起来很不错。

  

为什么category.posts.my_scope会返回所有帖子?

您的示例中是否可以所有此特定类别的帖子属于id: 2的用户?

一种简单的方法是:category.posts.my_scope.to_sql查看它是否按照您的意图运行。您可以将其与Post.my_scope.to_sql

进行比较