• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Ruby on rails开发从头来(windows)(七)-创建在线购物页面

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

上一篇随笔中,我们为Products创建了一个维护用的列表页面,效果如图:

 

这次我们使用上面维护的Products列表来创建一个最终用户使用的购物页面。

 

1.       创建控制器(Controller),命名为store,我们通过命令行来创建它:

depot> ruby script/generate controller Store index

打开...rails_apps\depot\app\controllers目录下的store_controller.rb文件,向其中添加代码:

def index

@products = Product.salable_items

end

当然,我们还需要给Product定义salable_items方法,打开rails_apps\depot\app\models目录下的product.rb文件,添加代码:

def self.salable_items

find(:all,

:conditions => "date_available <= now()",

:order => "date_available desc")

end

 

2.       创建表示层,在rails_apps\depot\app\views\store目录下,创建一个index.rhtml文件,修改其内容如下:

<html>

    <head>

            <title>Pragprog Books Online Store</title>

            <%= stylesheet_link_tag "depot", :media => "all" %>

    </head>

    <body>

            <div >

                    <img src="/images/logo.png"/> ||

                    <%= @page_title || "Pragmatic Bookshelf" %>

            </div>

            <div >

                    <div >

                            <a href="http://www....">Home</a><br />

                            <a href="http://www..../faq">Questions</a><br />

                            <a href="http://www..../news">News</a><br />

                            <a href="http://www..../contact">Contact</a><br />

                    </div>

                    <div >

                            <%= @content_for_layout %>

                            <% for product in @products -%>

                            <div class="catalogentry">

                                    <img src="<%= product.image_url %>"/>

                                    <h3><%= h(product.title) %></h3>

                                    <%= product.description %>

                                    <span class="catalogprice"><%= sprintf("$%0.2f", product.price) %></span>

                                    <%= link_to 'Add to Cart',

                                            {:action => 'add_to_cart', :id => product },

                                            :class => 'addtocart' %><br/>

                            </div>

                            <div class="separator">&nbsp;</div>

                            <% end %>

                            <%= link_to "Show my cart", :action => "display_cart" %>

                    </div>

            </div>

    </body>

</html>

 

可以看到,在index.rhtml中,使用了css样式,css样式的文件名字叫depot

<%= stylesheet_link_tag "depot", :media => "all" %>

我们可以在rails_apps\depot\public\stylesheets目录下创建一个depot.css文件来定义我们的样式。

好了,最终的表示结果应该是这样:

 


这时,可以看到画面上有一个
AddCart链接,下一篇我们在此基础上添加一个购物车(cart)应用


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Ruby中 使用Builder Xml Markup 操作XML发布时间:2022-07-14
下一篇:
在 Ruby 中执行 Shell 命令的 6 种方法发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap