获取消息学校:0x00559eba30b8b8而不是显示学校名称

时间:2017-03-03 13:48:32

标签: ruby-on-rails ruby model-view-controller

我正在尝试显示与会员相关的学校名称,但我得到了学校:0x00559eba30b8b8,而不是名字。

<% @members.each do |member| %>
 <%= member.name %>
 <%= member.email %>
 <%= member.school %>
<% end %>

结果:John john@john.com #School:0x00559eba30b8b8

更新:

with school_id我得到了学校的身份证,但仍然不知道如何得到这个名字。

我怎样才能得到学校的名字? 非常感谢

3 个答案:

答案 0 :(得分:2)

由于school不是强制属性,因此无法仅查询name,应该使用try

<%= member.school.try :name %>

答案 1 :(得分:0)

使用

<%= member.school.try(:name) %>

注意: - 假设您的school具有属性'name'

同样在您的控制器中,您发现@members使用'包含',类似

@members = member.where().includes(:school)

答案 2 :(得分:0)

假设您在会员表中有school_id,则需要打印school.name而不是school

<% @members.each do |member| %>
 <%= member.name %>
 <%= member.email %>
 <%= member.school.try(:name) %>
<% end %>

注意: member.school会返回School的实例,并且您只想打印名称。