mongoid .where查询无法按预期工作

时间:2016-10-11 14:43:14

标签: ruby-on-rails mongoid

我有一个属于另一个的模型:

At()

相应的has_many模型:

class Permission
  include Mongoid::Document
  belongs_to :action
  field :action_id, type: String

我看到2个基本的ActiveRecord查询无效:

首先,发送对象而不是对象id不起作用:

class Action
  include Mongoid::Document
  has_many :permissions

但是,如果我使用id,它可以正常工作:

action = Action.first
permissions = Permission.where(action: action)
permissions.count # this is always 0

其次,发送一组id不起作用:

Permission.where(action_id: action.id) # this works fine

mongoid不支持基本的ActiveRecord查询吗?如果没有,对于第一个问题,我可以通过始终使用对象id来解决它,但对于第二个问题,我如何通过一组目标进行搜索?

感谢您的帮助, 凯文

1 个答案:

答案 0 :(得分:0)

查看Ruby on Rails保留字。有可能是造成破坏的地方。

http://www.rubymagic.org/posts/ruby-and-rails-reserved-words