7

Ich bin neu in Ruby auf Schienen und haben gerade Active Admin installiert und wurde versucht, dieSchienen: Active Admin Association Bildspalte

Ansichten anzupassen.

Ich habe eine Produkt- und Bildtabelle. Jedes Bild gehört zu einem Produkt.

Jetzt möchte ich eine Spalte mit dem zugehörigen Bild anzeigen, wenn die Produktseite angezeigt wird.

Momentan funktioniert nur der image_url Text nicht. Später möchte ich tun

haben das Bild in 50x50px angezeigt.

Wie mache ich das? (Bildmodell: Name: string image_url: text)

Hier ist, was ich getan habe.

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 

Ich weiß nicht, wie man das Teil reparieren mit "do Bild Ich bin ein Anfänger in Schienen 2 Tage exp ..

Es scheint, die Syntax ist falsch und werfen Fehler:

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

Dank

Antwort

10

Sie müssen die image_url aus dem Bildobjekt product.image.image_url abrufen.

In Bezug auf die Bildgröße, können Sie das Bild mit der Größe angezeigt werden Sie wollen, wie so

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

.css-

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

Oder Sie können das Bild selbst tatsächlich die Größe, mit einem Edelstein wie 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

Sie sollten einige Erklärungen hinzufügen. Es wird immer geschätzt ...;) – Badacadabra

Verwandte Themen