2011-04-14 31 views
0

我有分组这样的嵌套模型集,其中c是加入的B和X导轨3:儿童模型中直接引用字段在父

b属于一/一个有许多B的 C属于与b/b有很多c's c属于x/x有许多c's

在一个表单中,我想在下面的嵌套循环中显示c.x_name(其中x_name在x表中),该循环沿a> b > c等级

for b in a.b's 
    for c in b.c's 
     c.x_name 

我试过了我的show命令为c.show_x_name(c.id),然后把在C型

def show_x_name(x_id) 
    X.where(:id => x_id) 
end 

下列不过,我得到一个未知的密钥(S):从视图ID错误。将视图上的ruby更改为c.id会呈现正确的编号。

这是我第一次尝试Rails 3 ...我错过了什么?

谢谢!

+0

给你的模型合理的名称,a,b,c,x等很难遵循。 – 2011-04-14 12:19:38

回答

1

那么,我迷失在所有这些a,b,c和x-es中。但看看the guides

在您的c模型中添加belongs_to :x,在您的x模型中添加has_many :cs。 然后你应该可以使用c.x.name

但是c.x可能返回nil,如果c与x没有关系。顺便说一下,最好是给我们正确的名字,或者一些可能与原文相同的名字。

你在x数据库中有id属性吗?

Terw

+0

谢谢。这样可行。 – nktokyo 2011-04-14 12:28:21

+0

也帮了我,谢谢! – am17torres 2012-09-16 21:33:28