【问题标题】:rails 3 has_many - use in viewsrails 3 has_many - 在视图中使用
【发布时间】:2012-06-06 19:19:13
【问题描述】:

我的 Rails 应用程序中存在一对多关系:

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

我的模型是这样设计的:

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>

出现在 id 之后

【问题讨论】:

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


    【解决方案1】:

    替换等号

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

    【讨论】:

    • 感谢您的回答。它有帮助。因此,如果您想输出一些内容,请使用
    【解决方案2】:

    为了提供更多上下文以便您了解发生这种情况的原因,= 解析输出并在生成的 HTML 中显示语句的结果,其中 - 解析行但不显示结果 -由于 ruby​​ 在每个新语句中都会传递一个结果,因此您必须将您的 =- 放在正确的位置。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-24
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多