通过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>
我有一个与微博有 '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>