通过ActiveRecord_Association_CollectionProxy显示内容

Display content through ActiveRecord_Association_CollectionProxy

我有一个与微博有 'has_many' 关系的产品模型。同样,微博与产品具有 'belongs_to' 关系。通过这种关系,我想用该产品的所有可用微博在 table 中填充一行。据我所知,关联工作正常并且行有可能显示内容,但是显示“#Micropost::ActiveRecord_Associations_CollectionProxy:0x007fa5ba8b4d60”而不是实际内容。

Micropost.rb

class Micropost < ActiveRecord::Base
  belongs_to :product
  default_scope -> { order(created_at: :desc) }
  validates :product_id, presence: true
  validates :content, presence: true
end

Product.rb

class Product < ActiveRecord::Base
before_save{
self.name = name.downcase.humanize}
before_save{
self.oem = oem.downcase.humanize}

validates :ta_code,  presence: true, length: { maximum: 4, minimum: 3 }
validates :tatr,  presence: true, length: { maximum: 4, minimum: 4 },       uniqueness: true
validates :name,  presence: true
validates :oem,  presence: true
validates :kind,  presence: true
validates :ta_type,  presence: true
has_many :microposts
end

代码

<% Product.all.each do |product| %>
.
.
.
<% if product.microposts.any? %>
            <ul class="microposts">
              <% product.microposts.each do |micropost| %>
              <li><%= micropost.content %></li>
              <% end %>
              </ul>
            <%= link_to "Update status", new_status_path(product_id: product.id), :method => :create %>
            <% else %>
            <%= link_to "Update status", new_status_path(product_id: product.id), :method => :create %>
            <% end %>

您可以将显示部分简单地更改为以下内容

<% Product.all.each do |product| %>
.
.
.
  <ul class="microposts">
    <%product.microposts.each do |micropost| %>
      <li><%=micropost.content%></li>
    <% end %>
  </ul>