7

Jestem nowy w ruby ​​na szynach i właśnie zainstalowałem aktywnego administratora i próbowałem dostosować widokiSzyny: Aktywne powiązanie administratora Kolumna obrazu

.

Mam tabelę produktów i obrazów. Każdy obraz należy do jednego produktu.

Teraz chcę wyświetlić kolumnę z powiązanym obrazem, gdy wyświetlana jest strona produktów.

W tej chwili jest to tylko tekst image_url, który nie działa. Później chciałbym, aby obraz wyświetlany był w 50 x 50 pikseli.

Jak to zrobić? (Model image: nazwa: string image_url: text)

Oto co mam zrobić.

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 

nie wiem jak to naprawić, że część z "zrobić zdjęcie Jestem początkujący w szynach 2 dni exp ..

wydaje składnia jest źle i rzucanie błąd:

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

Dzięki

Odpowiedz

10

Musisz uzyskać image_url z obiektu obrazu product.image.image_url.

Odnośnie wielkości obrazu, można wyświetlić obraz o wielkości chcesz, tak jak

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

.css

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

Albo rzeczywiście można zmienić rozmiar sam obraz, z gem takie jak 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

Powinieneś dodać kilka wyjaśnień. Zawsze jest to doceniane ...;) – Badacadabra