使用下面的代码,我只在有@dataload_manuals.each结果的情况下尝试执行@dataload_manuals。
当它在没有@dataload_manuals的帐户中运行时,没有错误。但是,对于使用@dataload_manuals的帐户,我会看到下面的错误。
此外,如果删除if @dataload_manuals行,则使用@dataload_manuals的帐户将显示正确。
实现这一目标的正确方法是什么?事先谢谢您的建议。
HAML在我看来:
%table
%tr
%th Connector
%th User
%th Last run
- if @dataload_manuals
- @dataload_manuals.each do |d|
%tr
%td Manual
%td= d.user ? d.user.email : ''
%td= d.updated_at我得到的错误消息:
ActionView::Template::Error (undefined method `each' for #<DataloadManual:0x00000003a31468>):发布于 2013-10-01 20:57:28
从您的错误来看,@dataload_manuals似乎不是数组或活动记录关系,而是DataloadManual的单个实例。所以你的“如果”将是真的,但它不会对“每个”做出回应。
确保@dataload_manuals实际上包含多个记录并对每个记录进行响应。
发布于 2013-10-01 20:58:07
@dataload_manuals似乎是DataloadManual的一个实例,而不是一个可枚举的实例,因此没有什么可迭代的。
https://stackoverflow.com/questions/19125674
复制相似问题