#<ImagesUploader::UploadedFile:0x00007f8a0f0c0760> 的未定义方法“each”
undefined method `each' for #<ImagesUploader::UploadedFile:0x00007f8a0f0c0760>
在我看来我有这个:
<% @item.images.each do |image| %>
<%= image_tag image.images_url(:large) %>
<% end %>
如果我上传了 一张 图片,它会 returns 错误 undefined method 'each' for #<ImagesUploader::UploadedFile:0x00007f8a0f0c0760>
,但如果我上传多张图片,这个视图就可以正常工作。或者,没有封闭块的 <%= image_tag @item.images_url(:large) %>
也可以正常工作。
在从 ActiveStorage 切换到 Shrine 之前我没有遇到这个问题。
如何编写我的视图,使其显示所有上传的图像,无论是一张还是多张?
您可以执行以下操作
<% (Array @item.images).each do |image| %>
这将始终 return 数组,检查以下示例。
2.5.1 :001 > Array 5
=> [5]
2.5.1 :002 > Array [5]
=> [5]
2.5.1 :003 > Array []
=> []
在我看来我有这个:
<% @item.images.each do |image| %>
<%= image_tag image.images_url(:large) %>
<% end %>
如果我上传了 一张 图片,它会 returns 错误 undefined method 'each' for #<ImagesUploader::UploadedFile:0x00007f8a0f0c0760>
,但如果我上传多张图片,这个视图就可以正常工作。或者,没有封闭块的 <%= image_tag @item.images_url(:large) %>
也可以正常工作。
在从 ActiveStorage 切换到 Shrine 之前我没有遇到这个问题。
如何编写我的视图,使其显示所有上传的图像,无论是一张还是多张?
您可以执行以下操作
<% (Array @item.images).each do |image| %>
这将始终 return 数组,检查以下示例。
2.5.1 :001 > Array 5
=> [5]
2.5.1 :002 > Array [5]
=> [5]
2.5.1 :003 > Array []
=> []