Как отобразить несколько изображений в ActiveAdmin

Я использую скрепку для загрузки нескольких изображений. Я также использую Active Admin. До сих пор мне удалось загрузить несколько изображений и связать их с моей моделью "продукта". Я также могу отобразить "имена" всех связанных изображений на странице индекса . Однако я не могу узнать, как дисплей " все " изображения (а не только имена) на моей странице показа модели продукта. Пожалуйста, найдите код ниже.

appmodelsproduct.rb

has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, :allow_destroy => true

appmodelsimage.rb

belongs_to :product
has_attached_file :image, :styles => {
  :thumb=> "100x100>",
  :small  => "300x300>",
  :large => "600x600>"
    }

appadminпродукты.rb

index do
  column "Images" do |product|
    product.images.map(&:image_file_name).join("<br />").html_safe
  end
end

show do |product|
  attributes_table do
  row "Images" do
      ul do
        li do 
          image_tag(product.images.first.image.url(:small))
        end
        li do 
          image_tag(product.images.second.image.url(:small))
        end
        li do 
          image_tag(product.images.last.image.url(:small))
        end
      end
    end
  end
end

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

1 ответов


вы имеете в виду, что вам нужно отображать каждое изображение, а не только 3 из них ? Если да, попробуйте

row "Images" do
   ul do
    product.images.each do |img|
      li do 
        image_tag(img.image.url(:small))
      end
    end
   end
end