ActiveRecord的::协会:: CollectionProxy

时间:2016-10-25 08:31:21

标签: ruby-on-rails ruby activerecord

我有一个问题。 视图/管理员/ show.html.erb

<% provide(:title , "施設") %>


  <p><%= @admin.name  %></p>
  <p><%= @admin.place %></p>
  <p><%= @admin.address %></p>
  <p><%= @admin.content  %></p>
<%= @dogs.each do |dog| %>
  <p><%= dog.name %></p>
  <p><%= dog.age  %></p>
  <p><%= dog.personality  %></p>
  <p><%= dog.breed  %></p>
  <p><%= dog.content  %></p>
<% end %>

和admins_controller

class AdminsController < ApplicationController
 before_action :authenticate_admin! , only:[:show]    
 def show
    #@admin = current_admin
    @admin=Admin.find(params[:id])
    @dogs = @admin.dogs
 end
end

当我观看show.html.erb时,页面的最后一句包含ActiveRecord :: Associations :: CollectionProxy。 为什么包含?

2 个答案:

答案 0 :(得分:2)

这是因为你在这里有等于,它告诉rails输出它

<%= @dogs.each do |dog| %>

成功

<% @dogs.each do |dog| %>

答案 1 :(得分:0)

他们拥有AdminDog之间的关系。它还提供了许多可用于相关Dog对象的方法。有关详细信息,请参阅此处:http://api.rubyonrails.org/classes/ActiveRecord/Associations/CollectionProxy.html