`
dearsuper
  • 浏览: 65216 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

阅读更多
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