Tôi đang sử dụng kẹp giấy để tải lên nhiều hình ảnh. Tôi cũng đang sử dụng Active Admin. Cho đến nay, tôi đã có thể tải lên nhiều hình ảnh và liên kết chúng với mô hình 'sản phẩm' của tôi. Tôi cũng có thể hiển thị "tên" của tất cả hình ảnh được liên kết trong trang chỉ mục. Tuy nhiên, tôi không thể tìm hiểu cách hiển thị 'tất cả' các hình ảnh (không chỉ tên) trong trang hiển thị của tôi trong mô hình sản phẩm. Vui lòng tìm mã bên dưới.Cách hiển thị nhiều hình ảnh trong ActiveAdmin
\ ứng dụng \ mô hình \ product.rb
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images, :allow_destroy => true
\ ứng dụng \ mô hình \ image.rb
belongs_to :product
has_attached_file :image, :styles => {
:thumb=> "100x100>",
:small => "300x300>",
:large => "600x600>"
}
\ ứng dụng \ 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
tôi đã tìm thấy một cái gì đó mà làm việc nhưng điều này thực sự là chương trình xấu. Hiện tại tôi có 3 hình ảnh được liên kết với từng sản phẩm và tôi đang sử dụng mã ở trên bên trong khối hiển thị của mình. Vui lòng đề xuất cách tốt hơn để thực hiện việc này.
Tôi đã sửa đổi mã để hiển thị hình ảnh chỉ khi nó có mặt. 'image_tag (product.images.first.image.url (: small)) nếu! product.images.first.nil?' Tuy nhiên, mã này vẫn có giới hạn tối đa. 3 hình ảnh. Hãy tư vấn về cách đạt được điều này một cách tốt hơn. – ansh0809
bạn có nghĩa là bạn cần hiển thị từng hình ảnh không chỉ 3 hình ảnh? – Fivell