2016-12-14 75 views
0

嗨,可以說我擁有固定數量的產品(例如5種產品)。在我的HTML表單中,如果我想使用表單來顯示所有產品,以便用戶可以點擊購買,並且可以捕獲用戶點擊的點擊數據,我該怎麼做?我也想展示產品的圖片。將資產圖像鏈接到我存儲在數據庫中的產品值

截至目前,這是硬編碼。

%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 

我怎樣才能刪除這些硬編碼代碼,使其動態中,如果我再添新產品,我可以得到它的信息和它的產品IMAGE。我想過PAPERCLIP的寶石,但似乎不是我需要在這裏?如果我錯了,請糾正我。

回答

0

回形針正是你需要的,但你需要首先正確地使用模板。我假設你沒有意識到你需要迭代你的產品,如果不是這樣,跳到步驟2.

  1. 正如你所說的,你硬編碼每個產品項目,而不僅僅是圖像,但整個購買shebang。不要這樣做。不要在你的控制器一樣@products = Product.all的東西,然後做一些嵌入式紅寶石認爲像

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

如果你不熟悉如何使用嵌入式紅寶石您的意見,從加載資源你的控制者,顯然這是第一個;閱讀文檔以瞭解如何自己做到這一點。

  1. 現在您將不得不將作爲image列存儲在您的產品數據庫中。回形針將爲你做到這一點,這樣你就可以直接從你自己的數據庫中爲每個資源加載圖像,這樣每次都會加載正確的圖像。
相關問題