论坛首页 编程语言技术论坛

《Web开发敏捷之道》2版 P112 计数器答案

浏览 2000 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-04  
1.定义一个模型:counter.rb

class Counter
  attr_reader :cishu
  
  def initialize
    @cishu = 0 
  end 
  
  def increment
    @cishu +=1
  end  
end


2.在控制器store_controller.rb对应位置加入以下内容
  def index
    @counter = find_counter
    @counter.increment
  end
  
  private  
  def find_counter
    session[:counter] ||= Counter.new
  end

 
3.在视图index.rhtml中第一行前加入
<div id="jishuqi">计数器:<%=@counter.cishu %></td></div>

4.在depot.css中加以下定义
#jishuqi {
 color:#ff0000;
 font-weight: bold;
}


另一个要求:如果往购物车中放入货品时,计数器清0
1.在控制器store_controller.rb的add_to_cart方法中,加如下代码
  def add_to_cart
    begin
    ...
    else
      @counter = find_counter
      @counter.empty    #别以为你可以直接调用:@counter.initialize
    ...
    end
  end

 
2.还得在模型:counter.rb中加入
  def empty
    @cishu = 0
  end
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics