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

《Web开发敏捷之道》2版 P130 使购物车采购数量减1(Ajax实现)

阅读更多
局部模板_cart_item.rhtml
<% if cart_item == @current_item %>
  <tr id="current_item" class="cart-item">
<% else %>
  <tr class="cart-item">
<% end %>
    <td width="5%"><%= cart_item.quantity %>*</td>
    <td width="70%"><%= h cart_item.title %></td>
    <td width="12%">¥<%= cart_item.price%></td>
    <td width="13%">
    <%= link_to_remote "减少",
      :url => {:action => "decrease_cart_item",:id => cart_item.product} %>
    </td>
  </tr>

 
控制器中修改成
  def decrease_cart_item
    product = Product.find(params[:id])
    @cart = session[:cart]
    @current_item = @cart.descrease_quantity(product)
    redirect_to_index unless request.xhr?
  end

 

模型cart.rb对应内容修改成
  def descrease_quantity(product)
    current_item = @items.find {|item| item.product == product}
    if current_item.quantity>1
      current_item.descrease_quantity
    else
      @items.delete(current_item)  #从数组中删除这个对象
      current_item = nil  #因为该对象已经从数组中删除了,后面程序要进行判断是否存在,所以要把它的值赋值为nil
    end
    current_item
  end

 

视图下建立decrease_cart_item.rjs文件,内容
page[:cart].replace_html :partial => 'cart', :object => @cart
if @current_item
page[:current_item].visual_effect :highlight,:startcolor => "#88ff88",:endcolor => "#114411"
end


这样做的效果是:当前行的采购数量减少时,当前行也会用高亮渐变效果显示。如果是该行的数量被减少到0,那么该行就会被删除,而不再能对它使用渐变效果。
分享到:
评论

相关推荐

    谢希仁《计算机网络》第8版p130页图4-14网络路由实现

    【谢希仁《计算机网络》第8版p130页图4-14网络路由实现】这个知识点涉及了计算机网络中的路由技术和IP地址分配。首先,我们要理解IP地址的结构,它通常由网络号、子网号和主机号组成。在传统的IPv4中,一个网络通常...

    Dahua大华智能锁(P130系列)使用说明书.pdf

    Dahua大华智能锁(P130系列)使用说明书.pdf

    P1310软件开发手册

    ### P1310软件开发手册精要解析 #### 搭建开发环境与工具选择 **概述**:P1310软件开发手册详细介绍了软件开发环境的搭建过程,尤其是针对P1310设备的开发流程。文档强调了使用EVC(Embedded Visual C++)作为开发...

    P130题五.sql

    P130题五.sql

    AVAYA P130工作组交换机产品手册

    P130家族产品被设计为支持高级数据网络环境,产品具有QoS,策略管理的能力和冗余支持能力,从而提供了较高的操作可靠性和网络可用性。通过对多层策略许可进行授权,P130的能力被进一步扩展,从而满足汇聚网的特定...

    ok汽车智能制造企业数字化转型SAP解决方案 P130.pptx

    ok汽车智能制造企业数字化转型SAP解决方案 P130

    netscreen 设置教程

    1 P130系列交换机 4 2 P330系列交换机 7 3 初始化配置(管理地址,网关, 修改口令) 16 4 命令行模式的三种级别 17 5 使用WEB方式管理 17 1 查看端口状态 18 2 配置端口物理性能(双工,安全,镜像) 19 3 LAG和端口冗余 21...

    csdn 翁恺 C 语言程序设计(完) 视频.txt

    P102.1.2 变量:变量定义 P112.1.3 变量:变量赋值与初始化 P122.1.4 变量:变量输入 P132.1.5 变量:常量VS变量 P142.1.6 变量:浮点数 P152.2.1 表达式:表达式 P162.2.2 表达式:运算符优先级 P172.2.3 表达式:...

    数学建模习题集 数学建模复习资料

    1. 记时刻 的人口为 ,已知0时刻的人口为 ,假设人口增长率随着人口数量的增加而线性下降,即从 到 人口的增量与 成正比。建立人口增长模型,求解并作出解的大致图形。(具体解答见书上P12) 解为 ,大致图形...

    正误表(大物B1--张三慧《大学物理学》第三版--力学与热学)_5166041911

    这篇文档是一个关于张三慧《大学物理学》第三版中力学与热学部分的正误表,包含了书中的多个错误和需要修正的地方。以下是对这些错误的详细解释: 1. **公式推导错误**:在P10的公式3.21推导中,r应该是矢量,而在...

    6SE71应用SCOM2口通讯

    6SE71应用SCOM2口通讯涉及到的是西门子6SE71系列矢量控制变频器的通信设置。6SE71是西门子的一款高性能变频器,尤其适用于需要精确控制和动态响应的场合。在进行SCOM2口通讯时,我们需要了解以下关键知识点: 1. **...

    6SE70参数设置表[整理].pdf

    * P326:设定电压提升结束频率条件: P100=0、1、2(V/f 模式),P115=1、2、3 时自动设定 * P330:V/f 模式加速曲线形式线性,1=抛物线型;条件:P100=0、1、2(V/f 模式) * P336:转差补偿比例增益0.0%:转差...

    西门子装置调试大全.pdf

    8. **补充参数设定**:包含电流限制(P128)、PMU的正反转设定(P571.1和P572.1)、加速和减速时间(P462.1和P464.1)、电流和频率的指示比例(P643.1和P643.2)、转矩限制(P492和P498)、预励磁时间(P602)、无...

    PMBOK-5版勘误与大纲

    根据提供的文件信息,我们可以了解到这份文档是关于《项目管理知识体系指南》(Project Management Body of Knowledge,简称PMBOK)第五版的一些勘误与修订内容。PMBOK是由美国项目管理协会(Project Management ...

    [Portlets.in.Action].Ashish.Sarin.文字版.pdf

    **1. 使用用户属性获取门户中的用户信息 (P96, Section 3.2.2)** 在portlet开发中,经常需要获取用户的个人信息以便提供个性化服务或进行权限控制。本书介绍了一种方法:通过门户提供的用户属性来访问这些信息。具体...

    《程序员》杂志2011年第9期.pdf

    根据提供的信息,《程序员》杂志2011年第9期的内容主要涵盖了广泛的IT技术和软件开发相关的主题。虽然部分内容因格式问题难以直接解读,但通过现有的标题、描述和其他可识别的信息,我们可以推断出其中的一些关键...

    鼎科2033V配屏固件

    (2)。用VGA线,一端连通烧录板[ISP-2013] 的VGA头上 一端连通驱动板 (3)。给驱动板上12V电源 烧入(1)【图1】中选-----打开文件(F3),选项所要写入的程式 【图1】中选-----烧录(F9),确认写入

    MOVITRAC 07B变频器参数设置

    - 变频器的数字输入(DI)和输出(DO)状态也由参数P030-P054管理,例如DI用于故障复位、电机正反转控制、使能与快速停止,而DO则指示故障、制动器使能及准备就绪状态。 2. **转速设置/斜率发生器**(参数组1): ...

    PMBOK5 PMBOK中文版勘误(针对2013年5月第一次印刷)

    《PMBOK指南》第五版(PMBOK5)自2013年发布以来,已成为全球项目管理领域的权威指导手册。然而,任何出版物在初次面世时都可能包含一些待修正之处,尤其是跨语言翻译的过程中,更易出现理解或表达上的偏差。因此,...

Global site tag (gtag.js) - Google Analytics