Rails helper - как вернуть массив изображений в представление - PullRequest
0 голосов
/ 28 июля 2011

Попытка построить помощника в рельсах, который возвращает массив image_tags для представления.

def thumbnails
 arry = [
 image_tag('image1.png')
 image_tag('image2.png')
 image_tag('image3.png')
 ]
 return arry[0]
end

Я могу добраться до возвращения одного изображения, как в примере выше, но яне знаю, как вернуть их все ... все, что я пытаюсь сделать для итерации по массиву, заставляет представление отображать HTML-код изображения, а не само изображение.

Справка приветствуется как всегда.

Ответы [ 2 ]

5 голосов
/ 28 июля 2011

Если я правильно понимаю вопрос, если вы хотите объединить их все вместе, вы можете сделать что-то вроде этого:

def thumbnails
  raw [
       image_tag('image1.png'),
       image_tag('image2.png'),
       image_tag('image3.png')
      ].join()
end

Это приведет к такой строке:

<img src='/images/image1.png' /><img src='/images/image12.png' /><img src='/images/image3.png' />
0 голосов
/ 28 июля 2011

Я бы сделал частичную миниатюру и передал бы ей объект, содержащий массив объектов AR или массив имен файлов. В частичном:

<%= image_tag(thumbnail)  #or image_tag(thumbnail.file_name) if AR object %>

И в ссылочном представлении:

<%= render(:partial => "thumbnail", :collection => @thumbnails) %>

Предоставление: collection частичным приводит к тому, что Rails автоматически повторяет его для каждого объекта - используя имя объекта, соответствующее частичному имени для каждого экземпляра. @Thumbnails, передаваемые из ссылочного представления, - это массив, установленный в вашем контроллере:

@thumbnails = ["image1.png","image2.png","image3.png","image4.png"]

или

@thumbnails = Thumbnails.find(:all)

и т.д.

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...