程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Ruby on rails開發從頭來(windows)(十三)-訂單(Order)

Ruby on rails開發從頭來(windows)(十三)-訂單(Order)

編輯:關於JAVA

在上次的內容裡,我們編寫了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了,現在來看看效果,如圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved