我要模特:
父亲有很多孩子
f_name
孩子属于父亲
c_name
father_id(fk)
在儿童的索引页面中,我想显示c_name和父亲的姓名
<% @children.each do |child|%>
<%= child.name %>
<% if Father.find(child.father_id) %>
<%= Father.find(child.father_id).f_name %>
<% end %>
<% end %>
我不认为代码很优雅。也许我应该把它们放到帮手或模型中,但我不知道该怎么做。 任何人的帮助将不胜感激。
答案 0 :(得分:1)
我不确定你的控制器是怎样的,但它可能是这样的。
@children = Child.includes(:father)
在视图中:
<% @children.each do |child|%>
<%= child.name %>
<%= child.father.try(:name) %>
<% end %>
try
与<%= child.father.name if child.father %>
答案 1 :(得分:1)
如果您在模型中正确设置了关系,那么rails将为您提供一些不错的帮助方法。在这种情况下,您可以找到孩子的父亲:child.father
。然后当然child.father.name
得到父亲的名字。
如果您担心孩子没有父亲,那么您可以做以下事情:
<%= child.father.name if child.father %>