我有一个有很多用户的应用,可以创建很多旅行,他们可以邀请朋友参加旅行。
以下是模型:
class Travel
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
embeds_many :participants
accepts_nested_attributes_for :participants
end
class Participant
include Mongoid::Document
include Mongoid::Timestamps
# relations
embedded_in :travel, :inverse_of => :participants
end
它嵌入旅行中。 现在,我想访问用户,感谢您在旅行页面上看到的数据库中的user_id,但我不知道为了实现这一点我必须写什么请求。我想访问参与者。
我是否必须使用.where()
:User.where(:id.in => ...)
或.find_by()
..?
答案 0 :(得分:1)
由于Travel
和User
已关联(belongs_to
),您可以直接致电..
Travel.last.user
或者
User.where(id: Travel.participants.pluck(:user_id))