2012-10-13 50 views
0

这种情况下是否存在一个助手?Rails递归搜索助手

您有Survey,其中has_many问题,其中has_many答案。

s = Survey.first 
s.answers # => Returns the answers of all the survey questions 

我不想在这里重新创建轮子。

+0

一个Rails助手什么情况? –

回答

2

它是建立在:

class Survey < ActiveRecord::Base 
    has_many :questions 
    has_many :answers, :through => :questions 

    # ... 
end 

就是这样。现在你可以拨打survey.answers,它会得到所有的答案。

阅读上的:through选项(和它的局限性)here

+0

+1 Thanks Flambino,我经常使用'through'来查看我的连接表,但是,从来没有遇到过这种用例。感谢您的及时响应! – Dru

+0

@Dru不客气。而且,在这种情况下,'question' _is_一个连接表 - 只要想到这种方式:) – Flambino

+0

这帮助了很多。这样一个简单的解决方案,当我认为这将是一个巨大的。 –