我有一个有效的HAML文件:
%h2
#{@schedule_item.schedule_id}
并打印ID。
然后我尝试:
%h2
- @schedule_item.each do |test|
%li test
并得到错误:未定义的方法`每个' ScheduleItem:0x007ff8b91c06b0
有人可以解释为什么我不能在这个实例变量上运行每个变量吗?
答案 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