2011-11-30 55 views
0

在Rails中,我有一个名为Director的模型,它引用了一个名为“director”的字段的表。Rails指的是字段名称,而不是名称相同的两个表之间的关系

当我使用连接的查询(要么在模型或使用.joins法的关系),然后尝试打印导演领域,我得到的关系,而不是场,这样算下来

<% @dvds.each do |dvd| %> 
<%= "#{dvd.director}" %> 

我得到的是这样的:

#<Director id: 93, director: "Brad Bird"> 

我应该得到公正 “的布拉德·伯德”。

有没有一种方法来消除这个问题,只需要字段名称而不必更改模型名称?

+0

您能描述您的DVD和Director型号吗? – Rahul

回答

2

你可以做两件事情:

使用领域,如:

<%= "#{dvd.director.director}" %> 

还是一个to_s添加到像模式:

class Director 

    def to_s 
    self.director 
    end 

end 

顺便说一句,这是一个有点怪异在Director型号上有director字段

+0

我试过这个'<%​​=“#{dvd.director.director}”%>',并且导演有一个未定义的方法错误。大概是第二个。 – kakubei

+0

@kakubei你确定每张DVD都有导演吗?也许这就是问题......据我所知,我发布的内容应该可以正常工作。 – lucapette

+0

你会建议我改变模型名称? – kakubei

相关问题