Sto usando paperclip per caricare più immagini. Sto anche usando Active Admin. Finora, sono stato in grado di caricare più immagini e associarle al mio modello di 'prodotto'. Sono inoltre in grado di visualizzare i "nomi" "" di tutte le immagini associate nella pagina dell'indice. Tuttavia, non sono in grado di scoprire come visualizzare "tutte" le immagini (non solo i nomi) nella pagina di presentazione del modello del prodotto. Si prega di trovare il codice qui sotto.Come visualizzare più immagini in ActiveAdmin
\ app \ modelli \ product.rb
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, :allow_destroy => true
\ app \ modelli \ image.rb
belongs_to :product
has_attached_file :image, :styles => {
:thumb=> "100x100>",
:small => "300x300>",
:large => "600x600>"
}
\ app \ admin \ products.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
I ho trovato qualcosa che funziona ma questa è davvero pessima programmazione. Al momento ho 3 immagini associate a ciascun prodotto e sto usando il codice sopra nel mio blocco di spettacoli. Si prega di suggerire un modo migliore per farlo.
Ho modificato il codice per visualizzare l'immagine solo se è presente. 'image_tag (product.images.first.image.url (: small)) if! product.images.first.nil?' Tuttavia, questo codice ha ancora una limitazione di max. 3 immagini. Si prega di consigli su come ottenere questo in un modo migliore. – ansh0809
vuoi dire che devi mostrare ogni immagine non solo 3 di loro? – Fivell