2016-12-14 6 views
0

Hallo sagen wir haben eine feste Anzahl von Produkten (5 Produkte zum Beispiel). Wenn ich in meinem HTML-Formular ein Formular verwenden möchte, um alle Produkte anzuzeigen, sodass der Nutzer auf "Kauf" klicken kann und ich erfassen kann, auf welche angeklickten Daten der Nutzer geklickt hat, wie kann ich dies tun? Ich möchte die Bilder des Produktes auch zeigen.Verknüpfen Sie Assets Bilder mit meinen Produkten in DB

Ab sofort ist dies hardcoded.

%h1 <u>Fruit Basket</u> 

.row 
    .col-xs-10.col-sm-6.col-md-6.col-lg-4 
    .thumbnail 
     %img{:src => "assets/Garden3.jpg", :class => "FeedbackRegion"}/ 
     .caption 
     %h3.PriceTag RM 60 
     %button.btn.btn-primary.PurchaseBtn Purchase 
     %p <b><u>Fruits:</b></u> 
     %p Apple, Orange, Banana 
     %p <b><u>Flowers :</b></u> 
     %p Zebra, Chrysanthemum, Fern leafs 

    .col-xs-10.col-sm-6.col-md-6.col-lg-4 
    .thumbnail 
     %img{:src => "assets/Garden3.jpg", :class => "FeedbackRegion"}/ 
     .caption 
     %h3.PriceTag RM 80 
     %button.btn.btn-primary.PurchaseBtn Purchase 
     %p <b><u>Fruits:</b></u> 
     %p Apple, Orange, Banana 
     %p <b><u>Flowers :</b></u> 
     %p Zebra, Chrysanthemum, Fern leafs 

Wie kann ich diese fest codierten Codes entfernen und dynamisch wie in machen, wenn ich ein anderes neues Produkt hinzufügen, kann ich seine Informationen und sein Produkt IMAGE erhalten. Ich dachte über PAPERCLIP gem, aber scheint nicht das zu sein, was ich hier brauche? Berichtige mich, wenn ich falsch liege.

Antwort

0

Büroklammer ist genau das, was Sie brauchen, aber Sie müssen zuerst richtig mit Vorlagen beginnen. Ich werde Sie davon ausgehen, wusste nicht, dass Sie über Ihre Produkte iterieren benötigt, und wenn das nicht wahr ist, überspringen 2.

  1. zu Schritt Wie Sie bemerkt, Sie jedes Produkt Artikel fest einprogrammiert, nicht nur das Bild , aber der ganze Einkauf shebang. Tu das nicht. Tun Sie etwas in Ihrem Controller wie @products = Product.all, und dann tun Sie etwas in Ihrem eingebetteten Rubin in der Ansicht wie

@products.each do |p| image_tag "hi", p.image button_tag "other stuff" # etc.

Wenn Sie nicht vertraut sind mit, wie eingebettetem Ruby verwendet in Ihren Ansichten zum Laden von Ressourcen aus Ihre Controller, offensichtlich ist das erste; Lesen Sie die Dokumentation, um zu lernen, wie Sie das selbst machen können.

  1. Und jetzt wirst du die p.image als image Spalte in Ihren Produkten Datenbank speichern lassen. Paperclip erledigt das für Sie, und so können Sie die Bilder direkt aus Ihrer eigenen Datenbank pro Ressource laden, so dass jedes Mal das richtige Bild geladen wird.
Verwandte Themen