7

Tôi mới dùng ruby ​​trên đường ray và vừa cài đặt quản trị viên đang hoạt động và đang cố gắng tùy chỉnh chế độ xemĐường ray: Liên kết quản trị viên hoạt động Hình ảnh cột

.

Tôi có bảng sản phẩm và hình ảnh. Mỗi hình ảnh thuộc về một sản phẩm.

Bây giờ tôi muốn hiển thị một cột có hình ảnh được liên kết khi hiển thị trang sản phẩm.

Hiện tại, nó chỉ là văn bản image_url hiện không hoạt động. Sau đó, tôi muốn làm

có hình ảnh được hiển thị trong 50x50px.

Làm cách nào để thực hiện việc này? (Mô hình hình ảnh: Tên: string image_url: văn bản)

Dưới đây là những gì tôi đã làm:.

ActiveAdmin.register Product do 

index do 
    column "Image" do |image| 
     image.image_url 
    end 
    column :name 
    column :preview_text 
    column :full_text 
    column :price, :sortable => :price do |product| 
     div :class => "price" do 
      number_to_currency product.price 
    end 
    end 
default_actions 
end 
end 

Tôi không biết làm thế nào để khắc phục điều đó một phần với "làm hình ảnh Tôi là một người mới bắt đầu trong đường ray 2 ngày exp ..

có vẻ như cú pháp là sai và ném lỗi:

undefined method `image_url' for #<Product:0x00000101b5a458> 

Cảm ơn

Trả lời

10

Bạn cần lấy số image_url từ đối tượng hình ảnh product.image.image_url.

Về kích thước hình ảnh, bạn có thể hiển thị hình ảnh với kích thước bạn muốn, như vậy

column "Image" do |product| 
    image_tag product.image.image_url, class: 'my_image_size' 
end 

.css

.my_image_size { 
    width: 50px; 
    height: 50px; 
} 

Hoặc bạn thực sự có thể thay đổi kích thước hình ảnh riêng của mình, với một viên ngọc chẳng hạn như CarrierWave.

0
column "Image" do |product| 
    image_tag (product.image,width:100,height:80) 
end 


references 
image=it's belongs to your database column name 
product=it creates new object for your image by activeadmin register class method. 
+0

Bạn nên thêm một số giải thích. Nó luôn được đánh giá cao ...;) – Badacadabra