未定义的方法“每个”为

undefined method `each' for

我有一个有效的 HAML 文件:

%h2 
  #{@schedule_item.schedule_id}

并打印 ID。

然后我尝试:

%h2 - @schedule_item.each do |test| %li test

并得到错误:未定义的方法`each'ScheduleItem:0x007ff8b91c06b0

有人可以解释为什么我不能 运行 每个实例变量吗?

each 是一种可以在集合上使用的方法 objects/Arrays

虽然,我看不出你迭代单个实例的原因,但是如果你想 运行 each 在单个实例上,你需要先将它转换为这样的数组。

%h2
  - Array(@schedule_item).each do |test|
    %li test

我也遇到过这个问题。我的问题是,我忘记了控制器中的 def index。我定义好之后,问题就解决了。 class GroupsController < ApplicationController def index @groups = Group.all end end