快速业务通道

Ruby on rails开发从头来(windows)(八)-使用Session创建购物车 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
n。这一步我们需要修改rails_apps\depot\app\controllers目录下的application.rb文件,使其内容为:

# Filters added to this controller apply to all controllers in the application.# Likewise, all the methods added will be available for all controllers.class ApplicationController < ActionController::Base
 # Pick a unique cookie name to distinguish our session data from others''
 #session:session_key => ''_depot_session_id''
model :cart
model :line_item
end

l 到此,再点击点击Add to Cart链接,应该会出现一个正常的页面了。

Ruby on rails开发从头来(windows)(八)-使用Session创建购物车(4)

时间:2011-12-02 博客园 Cure

4.现在,虽然我们已经有了一个可以运行的页面,但是你会发现,如果你多次添加同一件商品,在display_cart页面上会一条一条显示。我们来完善一下这些代码,修改add_product方法:

def add_product(product)
item = @items.find {|i| i.product_id == product.id}
if item
item.quantity += 1
else
item = LineItem.for_product(product)
@items << item
end
@total_price += product.price
end

最后再美化下display_cart页面:

<html>
  <head>
  
  <%= stylesheet_link_tag "scaffold", "depot", "admin", :media => "all" %>
  </head>
  <div id="cartmenu">
      <ul>
          <li><%= link_to ''Continue shopping'', :action => "index" %></li>
          <li><%= link_to ''Empty cart'', :action => "empty_cart" %></li>
          <li><%= link_to ''Checkout'', :action => "checkout" %></li>
      </ul>
  </div>
  <table cellpadding="10" cellspacing="0">
      <tr class="carttitle">
          <td rowspan="2">Qty</td>
          <td rowspan="2">Description</td>
          <td colspan="2">Price</td>
      </tr>
      <tr class="carttitle">
          <td>Each</td>
          <td>Total</td>
      </tr>
      <%
      for item in @items
          product = item.product
      -%>
          <tr>
              <td><%= item.quantity %></td>
              <td><%= h(product.title) %></td>
              <td align="right"><%= item.unit_price %></td>
              <td align="right"><%= item.unit_price * item.quantity %></td>
          </tr>
      <% end %>
      <tr>
          <td colspan="3" align="right"><strong>Total:</strong></td>
          <td id="totalcell"><%= @cart.total_price %>&l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号