1

ORを使用してMongomapperでこれら2つのスコープをチェーンすることはできません。

scope :comment_is_nil, where(:comment => nil)
scope :post_not_blank, where(:post.ne => "")

コメントがnilでない、または投稿が空白でないモデルオブジェクトを返す必要があります。

これは機能しません:

Model.where("$or" => [{:comment_is_nil, :post_not_blank])

何か案は?

4

1 に答える 1

2

スコープの連鎖は操作であるためM.comment_is_nil.post_not_blankご存知のようには機能しません。MongoDBまたは構文は次のようになります。

Model.where(
    :$or => [
        { :comment => nil },
        { :post.ne => ''  }
    ]
)

したがって、スコープを手動で拡張して、個々の条件の配列を指定する必要があります。

于 2012-05-08T16:00:34.107 に答える