【发布时间】:2012-08-17 15:38:43
【问题描述】:
我有这些关系:
class User
include Mongoid::Document
has_many :orders, :class_name => 'Order', :inverse_of => :user
has_many :sold_orders, :class_name => 'Order', :inverse_of => :seller
end
class Order
include Mongoid::Document
belongs_to :user, :class_name => 'User', :inverse_of => :orders
belongs_to :seller, :class_name => 'User', :inverse_of => :sold_orders
end
如果我想获得当前卖家的所有订单,我会在我的控制器中运行类似:
def jobs
@orders = Order.where(seller: current_user)
p @orders
respond_to do |format|
format.html { render :layout => 'centered'}
end
end
我可以在我的日志控制台中看到:
#<Mongoid::Criteria
selector: {:seller=>#<User _id: 500541f81d41c82f1b000037, _type: "User", created_at: 2012-07-17 10:44:08 UTC, ....more attributes>},
options: {},
class: Order,
embedded: false>
这是错误的,因为我有一个用户,但我想获得当前卖家的所有订单。
如何获取当前卖家的所有订单?
谢谢!
【问题讨论】:
-
我正在使用 mongoid 2.4.12。它对我不起作用:(。与
@orders = Order.where(:seller_id => current_user.id)非常感谢! -
那么,这个异常是在哪里引发的?
标签: ruby-on-rails ruby-on-rails-3 mongodb mongoid ruby-on-rails-3.2