快速业务通道

Ruby on rails开发从头来(windows)(十三)-订单(Order) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

Ruby on rails开发从头来(windows)(十三)-订单(Order)

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

在上次的内容里,我们编写了CHECKOUT的处理。这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况。

1.修改checkout.rhtml文件,只要添加一句代码:

<%= error_messages_for("order") %>
<%= render_component(:action => "display_cart") %> ――这句 
<%= stylesheet_link_tag "scaffold", "depot", :media => "all" %>

在display_cart页面上点击“checkout”链接,可以看到checkout页面已经发生了改变,如图:

Ruby on rails开发从头来(windows)(十三)-订单(Order) - 编程入门网

2.但是我们看到,在页面的右上方,Checkout链接还显示着,我们当然要把它去掉。回到上面添加的那句代码:

<%= render_component(:action => "display_cart") %>

render_component实际上是把整个display_cart页面全部显示了,现在我们来添加参数,让它能区分是在display_cart页面还是在checkout页面。

在checkout页面上,把上面添加的代码改为:

<%= render_component(:action => "display_cart",:params => { :context => :checkout }) %>

可以看到我们添加了一个context参数。

Ruby on rails开发从头来(windows)(十三)-订单(Order)(2)

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

下面要修改store_controller.rb文件,修改display_cart方法为:

def display_cart
@cart = find_cart
@items = @cart.items
if @items.empty?
redirect_to_index("Your cart is currently empty")
end
if params[:context] == :checkout
render(:layout=> false)
end
end

然后修改display_cart.rhtml页面,对context参数为checkout的情况做出判断,然后作对应的显示:

将原来的代码:

<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>

修改为:

<ul>
  <li><%= link_to ''Continue shopping'', :action => "index" %></li>
  <% unless params[:context] == :checkout -%>
      <li><%= link_to ''Empty cart'', :action => "empty_cart" %></li>
      <li><%= link_to ''Checkout'', :action => "checkout" %></li>
  <% end -%>
</ul>

OK了,现在来看看效果,如图:

Ruby on rails开发从头来(windows)(十三)-订单(Order) - 编程入门网

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号