zoukankan      html  css  js  c++  java
  • 4-2 Ajax练习题,12结算!Check Out。

    练习题:在购物车的每个商品旁添加按钮,按一下减一个,数量为0删除该商品。先用普通方法再用Ajax支持。

    1.自定义方法decrease, 为其设定路径routes.rb。 在resouurces :line_items的块中加put 'decrease', on: :member 

    2.在controller中定义这个方法。

    • 注意⚠️:因为要用到render @cart渲染首页侧边栏,所以需要在action中声明实例变量@cart. 这里有前期模块CurrentCart中的方法set_cart,通过before_action,使用set_cart.
    • 减到一本时要用destroy方法。
    • respond_to 块中加 format.js
    3. view模版中定义一个decrease.js.erb。用jquery: $('#cart').html("<%= j render(@cart) %>");

     12 chapter 

    12.1 Capturing an Order

     rails generate scaffold Order name address:text email pay_type:integer.

    解释: 默认是string类型。

     rails generate migration add_order_to_line_item order:references

    解释:调用add_reference(table_name, ref_name, **options)方法。相当于add_reference(:line_items, :order, {:foreign_key=>true}) 

    默认数据类型:integer. 可以改其他类型用  type: XXX 


    使用ActiveRecord::Enum类声明一个pay_type属性, Rails 帮助我们完成跟踪工作。

    Declare an enum attribute where the values map to integers in the database, but can be queried by name. 
    class Order < ApplicationRecord
      enum pay_type: {
        "Check" => 0,
        "Credit Card" => 1,
        "Purchase order" => 2,
      }
    end


     打开数据库:

    depot> sqlite -line db/development.sqlite3 

     关闭:

    depot> .quit

  • 相关阅读:
    Java IO流 简介
    Centos8安装java部署环境
    RedisTemplate
    手把手教windows上安装linux虚拟机及环境配置
    使用Swagger2构建 RESTful API文档
    VMware 安装 Centos 7 虚拟机配置网络
    别再写满屏的 try catch 了
    isEmpty 和 isBlank 的用法区别
    SpringBoot 中必须掌握的45个注解
    数组的栈方法
  • 原文地址:https://www.cnblogs.com/chentianwei/p/8695473.html
Copyright © 2011-2022 走看看