質問: ### 開発環境 Ruby 2.3.0p0 Rails 4.2.6 ### railsのrotateメソッドについて 下記の書き方をしたのですが、画像が表示されません。 書き方が間違っているのでしょうか? ちなみにfindメソッドだと、作りたいものとは違いますが、画像はちゃんと表示されるので、image_tagの書き方に間違いがあるということはなさそうです。 ``` <% @gallery.works.rotate(1) do |work| %> <% if work.work_image? %> <%= image_tag work.work_image.thumb.url, class: "form_image_up" %> <% else %> <%= image_tag "up_work_image.png", class: "form_image_up" %> <% end %> <%= f.hidden_field :work_image_cache %> <% end %> ```
回答: 手元に環境が無いので動かして試してませんが、rotateは「要素を移動させた結果の配列」を返すようなので、 workには@gallery.worksの1件ではなく、配列が入っているのではないでしょうか。 workの中身をfindやeachの場合と比較してみると、どうでしょうか。 ※あまりこういうループ処理のときにrotateって使わない気もします。要件次第ですが。。