通过ActiveRecord_Association_CollectionProxy显示内容

时间:2015-06-29 16:52:08

标签: ruby-on-rails collections rails-activerecord model-associations

我有一个与Microposts有'has_many'关系的Products模型。同样,Microposts与Products有'belongs_to'关系。通过这种关系,我想在表格中填充一行,其中包含该产品的所有可用微博。据我所知,该关联工作正常,行有可能显示内容,但显示“#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 %>

1 个答案:

答案 0 :(得分:0)

您只需将显示部件更改为以下

即可
-0