Rails Association Tertiary has_many belongs_to

时间:2016-05-27 03:02:31

标签: ruby-on-rails rails-activerecord

我正在努力寻找这个基本问题的解决方案。谷歌条款也将受到赞赏。

我有三张桌子:鞋子,袜子和特征

鞋子有很多袜子。袜子属于鞋子。袜子有许多特征。特质属于袜子。

在我对鞋子的展示视图中,对于给定鞋子的id:x我想展示属于它的袜子,以及属于那些袜子的特征。

class ShoesController
  def show
    @shoe = Shoe.find(params[:id])
    @socks= @shoe.socks
  end

使用这段代码,我可以用id:x来穿鞋子。但是如何找到属于鞋子的袜子的特征:id:x? 我认为解决方案就像:

@sock = Sock________
@trait = @sock.traits

但我不知道如何对这段数据进行搜索

1 个答案:

答案 0 :(得分:2)

获取数组:

@traits = @socks.map(&:traits).flatten

获得ActiveRecord::Relation

@traits = Trait.where(sock: @socks)