抓住关系的关系对象

时间:2015-02-17 23:16:26

标签: ruby-on-rails ruby-on-rails-4 activerecord model where

我使用的是Rails 4,我想知道如何根据他现有的所有堆栈获取用户的独特服务。基本上是:

User hasMany Stacks
Stacks hasMany Services

我的尝试:

stacks = user.stacks
services = []
stacks.each do |stack|
  services << stack.services
end

这样工作正常,但是services是一个数组,我失去了所有漂亮的ActiveRecord函数,例如order。

我无法再订购services集合,因为它是一个数组,而不是一个ActiveRecord :: Relation。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

尝试将此添加到User模型并访问user_services

has_many :user_services, :through => :stacks, :source => :services