在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在上次的内容里,我们编写了CHECKOUT的处理。这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况。 1. 修改checkout.rhtml文件,只要添加一句代码: <%= error_messages_for("order") %> <%= render_component(:action => "display_cart") %> ――这句 <%= stylesheet_link_tag "scaffold", "depot", :media => "all" %> 在display_cart页面上点击“checkout”链接,可以看到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了,现在来看看效果,如图: |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论