我是Rails的新手,在显示关联表中的数据时遇到问题
这是我所拥有的
class Candidate < ActiveRecord::Base
has_many :emails
end
class Email < ActiveRecord::Base
belongs_to :candidate
end
class CandidatesController < ApplicationController
def index
@candidates = Candidate.includes(:emails).all
end
end
在我看来index.html.erb
<table>
<% @candidates.each do |candidate| %>
<tr>
<td> Name: <%= candidate.name %> </td>
<% candidate.emails.each do |email_address| %>
<td> <%= email_address %> </td>
<% end %>
</tr>
<% end %>
</table>
这是我在浏览器中得到的输出:
Name: Mohsin #<Email:0xbd41114>
Name: Faysal #<Email:0xbd40f0c>
Name: Adeel #<Email:0xbd40d68>
它仅显示候选人的数据,而不显示关联的电子邮件表的数据,为什么?有人可以帮帮我吗???我被困在这里!
在您的视图代码中,您正在呈现电子邮件对象,而不是呈现电子邮件对象的字段,例如
<table>
<% @candidates.each do |candidate| %>
<tr>
<td> Name: <%= candidate.name %> </td>
<% candidate.emails.each do |email_address| %>
<td> <%= email_address.email %> </td>
<% end %>
</tr>
<% end %>
</table>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句