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

  • 相关阅读:
    javascript如何实现图片隐藏?
    TypeScript数字分隔符和更严格的类属性检查
    JS 原生闭包模块化开发总结
    详解浏览器储存
    对象扩展运算符和 rest 运算符及 keyof 和查找类型
    Js实现动态轮播图效果
    javascript选择器有哪些?
    javascript的事件流模型都有什么?
    理解JavaScript中的语法和代码结构
    14. Cantor表
  • 原文地址:https://www.cnblogs.com/chentianwei/p/8695473.html
Copyright © 2011-2022 走看看