这是我正在尝试做的事情:
我有三张桌子:
预约用户和股票 - 我想为用户分配一个约会。 所以我到目前为止所做的是我在约会和用户之间创建了一个表 存储用户被分配到的user_id和appointment_id。 我可以在我的appointmentments_controller中搜索共享中的特定约会 与
@shares = Shares.find(:all, :conditions => { :appointment_id => @appointment.id })
之后我得到一个哈希@shares,看起来像这样:
[#<Shares id: 10, user_id: 3, appointment_id: 1, created_at: "2012-12-04 10:24:16", updated_at: "2012-12-04 10:24:17">, #<Shares id: 12, user_id: 2, appointment_id: 1, created_at: "2012-12-04 10:28:38", updated_at: "2012-12-04 10:28:39">]
我现在要做的是在users表中查询以查找属于我在共享哈希中找到的user_ids的用户名。 我尝试过这样的事情:
@shares.each do |s|
@participants = User.all(:conditions => {:id => s.user_id})
end
但它不起作用,因为每次循环开始时参与者哈希都会被覆盖... 谢谢你的帮助
答案 0 :(得分:1)
@shares = Shares.find(:all, :conditions => { :appointment_id => @appointment.id })
@participants = User.all(:conditions => ["id IN (?)", @shares.map{|s| s.user_id}.compact])