Ruby on rails 为什么要将这个ActiveRecord::Relation(一个Composer数组)对象呈现到此视图中?

Ruby on rails 为什么要将这个ActiveRecord::Relation(一个Composer数组)对象呈现到此视图中?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,因此,我在composers_controller.rb中有一个索引操作,如下所示: class ComposersController < ApplicationController def index @composers = Composer.all end def show @composer = Composer.find(params[:id]) end end class composescontroller 正确%> 删除此行中的等号

因此,我在composers_controller.rb中有一个索引操作,如下所示:

class ComposersController < ApplicationController

  def index
    @composers = Composer.all
  end

  def show
    @composer = Composer.find(params[:id])
  end

end
class composescontroller
访问时,实例变量将呈现到此视图中

作曲家

出生:

死亡:

但是,当我启动服务器并在浏览器中访问“localhost:3000/composers”时,会呈现以下视图:

那么为什么要渲染底部的数组呢?我有一个线索,这个问题与我正在使用的active_admin gem有关。另外,如果我的application.html.erb有帮助,请参见:

<!DOCTYPE html>
<html>
<head>
  <title>Classical Guide</title>
  <meta name=viewport content="width=device-width, initial-scale=1 user-scalable=no">
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>
  <%= render 'layouts/header' %>
  <div class="container main">
    <%= yield %>
  </div>
  <%= render 'layouts/footer' %>
</body>
</html>

经典指南
正确%>
正确%>
删除此行中的等号“=”:

<%= @composers.each do |composer| %>

应该是:

<% @composers.each do |composer| %>


通过包含“=”您告诉erb也要渲染@Composer。因此,实际上迭代器现在做两件事。首先,它会根据您的需要迭代作曲家,但其次,它会呈现@Composer数组。

谢谢。对不起,我犯了一个愚蠢的错误,问了这个问题,我保证下次会更彻底。我会在几分钟后检查这个答案,我希望我能检查两个答案。再次感谢。这是正常的。我们总是忘记一些小事。
<% @composers.each do |composer| %>