嗨,我想说我有一定数量的产品(例如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 :(得分:0)
Paperclip正是您所需要的,但您需要首先正确使用模板。我假设你没有意识到你需要迭代你的产品,如果不是这样,请跳到第2步。
@products = Product.all
,然后在视图中的嵌入式红宝石中做一些事情,比如
@products.each do |p|
image_tag "hi", p.image
button_tag "other stuff"
# etc.
如果您不熟悉如何在视图中使用嵌入式ruby来从控制器加载资源,那么显然这是第一个;阅读文档以了解如何自己完成。
p.image
作为image
列存储在您的商品数据库中。 Paperclip将为您完成此操作,这样您就可以直接从每个资源的数据库加载图像,以便每次都加载正确的图像。