未定义的方法`每个'对于

时间:2017-01-06 16:44:24

标签: ruby-on-rails haml

我有一个有效的HAML文件:

%h2 
  #{@schedule_item.schedule_id}

并打印ID。

然后我尝试:

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

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

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

2 个答案:

答案 0 :(得分:1)

each是一个可用于集合对象/数组

的方法

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

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

答案 1 :(得分:0)

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