rails 3 has_many - 在视图中使用

时间:2012-06-06 19:19:14

标签: ruby-on-rails arrays ruby-on-rails-3 has-many many-to-one

我的rails应用程序中有一对多的关系:

  • 我有一个可以有多个设备的用户类
  • 我有一个属于用户的Device类

我的模型设计如下:

class User < ActiveRecord::Base
  has_many :devices
end

class Device < ActiveRecord::Base
  belongs_to :user
end

关于视图,当我想显示所有用户并列出其关联的设备时,我使用以下代码:

<%= user.devices.each do |device| %>
  <%= device.id %>
<% end %>

输出为:(现在只有1个设备)

1 #<Device:0x101f45e50>

我不明白是为什么

#<Device:0x101f45e50>

后显示

2 个答案:

答案 0 :(得分:1)

替换等号

<% user.devices.each do |device| %>
  <%= device.id %>
<% end %>

答案 1 :(得分:1)

为了给出更多的上下文以便你知道为什么会发生这种情况,=解析输出并显示结果HTML中语句的结果,其中-解析该行但不是显示结果 - 因为ruby会在每个新语句中传递结果,您必须将=-放在正确的位置。

Documentation is your friend (this is for HAML, but is still a good explanation)