Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我想列出数据库中的所有用户,我得到一个奇怪的错误-未定义的方法“each”。我该怎么办?_Ruby On Rails_Loops_Foreach - Fatal编程技术网

Ruby on rails 我想列出数据库中的所有用户,我得到一个奇怪的错误-未定义的方法“each”。我该怎么办?

Ruby on rails 我想列出数据库中的所有用户,我得到一个奇怪的错误-未定义的方法“each”。我该怎么办?,ruby-on-rails,loops,foreach,Ruby On Rails,Loops,Foreach,这是列出我的用户的代码 <div> <% @govornik.each do |g| %> <p><%= g.name %></p> <p><%= g.description %></p> <% end %> </div> 这是来自控制器的代码 class GovorniciController < ApplicationContr

这是列出我的用户的代码

<div>

  <% @govornik.each do |g| %>

     <p><%= g.name %></p>
     <p><%= g.description %></p>

   <% end %>

</div>
这是来自控制器的代码

class GovorniciController < ApplicationController
     def new
     end

     def show
       @govornik = Govornik.new
     end

end
戈沃尼克是我的模特 下面是我的模型的代码和该模型的迁移

class Govornik < ApplicationRecord

end
迁移代码

class CreateGovorniks < ActiveRecord::Migration[5.2]
  def change
    create_table :govorniks do |t|
      t.string :name
      t.string :description

      t.timestamps
    end
  end
end
问题的结论:

我想显示数据库表Govornici中的所有mi用户 连接到govornik模型,我得到以下错误
为什么这是一个奇怪的错误?这完全是意料之中的错误。这:

@govornik = Govornik.new
创建新的Govornik记录。而且,新的Govornik记录不包括每个方法。因此,错误正是您所期望的

如果希望收集所有Govornik记录,则应创建一个类似以下内容的变量:

@govorniks = Govornik.all
在这种情况下,变量@govorniks将是一个ActiveRecord::Relation,它将具有可用于迭代所有记录的each方法


顺便说一句,我建议您从控制台复制错误,并将其作为文本包含在问题中。屏幕截图在某些设备上很难读取。而且,它使复制和粘贴变得不可能,以防我们需要这样做来帮助您解决问题。此外,屏幕截图错误不会显示整个堆栈跟踪,这有时会有所帮助。

由@jvillian给出的答案是正确的

def index
 @govorniks = Govornik.all
end 
下一次,你可以用脚手架。开始时,创建控制器、模型和视图要容易得多。您可以学习从输出中对代码进行反向工程

rails g scaffold Govornik name:string description:string

gdje zapinje Nikola?呵呵,看看下面的答案,把这一行放进控制器def show@govorniks=Govornik.all end和in view使用@govorniks.each