【问题标题】:undefined method `each' for #<ImagesUploader::UploadedFile:0x00007f8a0f0c0760>#<ImagesUploader::UploadedFile:0x00007f8a0f0c0760> 的未定义方法“每个”
【发布时间】:2020-12-31 20:17:09
【问题描述】:

在我看来,我有这个:

<% @item.images.each do |image| %>
 <%= image_tag image.images_url(:large) %>
<% end %>

如果我上传了 一个 图片,它会返回错误undefined method 'each' for #&lt;ImagesUploader::UploadedFile:0x00007f8a0f0c0760&gt;,但如果我上传了多个,此视图可以正常工作。或者,&lt;%= image_tag @item.images_url(:large) %&gt; 没有封闭块也可以正常工作。

在从 ActiveStorage 切换到 Shrine 之前,我没有遇到这个问题。

如何编写视图以显示所有上传的图像,无论是一张还是多张?

【问题讨论】:

    标签: ruby-on-rails shrine


    【解决方案1】:

    您可以执行以下操作

    <% (Array @item.images).each do |image| %>
    

    这将始终返回数组,请查看以下示例。

    2.5.1 :001 > Array 5
     => [5]
    2.5.1 :002 > Array [5]
     => [5]
    2.5.1 :003 > Array []
     => []
    

    【讨论】:

      猜你喜欢
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多