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

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

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

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

 

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

<%= error_messages_for("order") %>

<%= render_component(:action => "display_cart") %> ――这句 

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

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

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

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

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

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

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

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

下面要修改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了,现在来看看效果,如图:

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Ruby on Rails 数据库连接及mysql乱码发布时间:2022-07-13
下一篇:
Ruby(2008-02-10)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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