练习题:在购物车的每个商品旁添加按钮,按一下减一个,数量为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

4-2 Ajax练习题,12结算!Check Out。的更多相关文章

  1. C程序设计语言练习题1-2

    练习1-2 做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符串序列中未曾列出的某一个字符)时,观察一下会出现什么情况. 代码如下: #include <stdio.h& ...

  2. Ajax练习题

    1.使用Ajax跳转处理页面连接数据库,完成下拉列表 首页: <body> <select id="sel">    </select> < ...

  3. JAVA 基础编程练习题12 【程序 12 计算奖金】

    12 [程序 12 计算奖金] 题目:企业发放的奖金根据利润提成.利润(I)低于或等于 10 万元时,奖金可提 10%:利润高于 10 万元, 低于 20 万元时,低于 10 万元的部分按 10%提成 ...

  4. python核心编程正则表达式练习题1-2匹配由单个空格分隔的任意单词对,也就是性和名

    # 匹配由单个空格分隔的任意单词对,也就是姓和名 import re patt = '[A-Za-z]+ [A-Za-z]+' # 方法一 +加号操作符匹配它左边的正则表达式至少出现一次的情况 # p ...

  5. Ajax长轮询

    前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Wait.asp ...

  6. 5 commands to check memory usage on Linux

    Memory Usage On linux, there are commands for almost everything, because the gui might not be always ...

  7. 跨域请求jQuery的ajax jsonp使用常见问题解答

    前天在项目中写了ajax jsonp的使用,出现了问题:能够成功获得请求结果,但没有运行success方法,直接运行了error方法提示错误--ajax jsonp之前并没实用过.对其的理解为跟普通的 ...

  8. struts2中的Ajax异步校验

    登录时验证码的异步校验: 1.验证码生成的是图片因此在struts.xml文件里面配置action 时,result标签中type 属性是stream 2.验证码图片的src的值为配置action名字 ...

  9. 【转】AJAX中JSON数据的返回处理问题

    AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...

随机推荐

  1. Python: translate()审查清理文本字符串

    ①凌乱的字符串如下: ②创建一个小的转换表格然后使用translate()方法 空白字符\t和\f已经被重新映射到一个空格. \r直接被删除 ③构建一个更大的表格,删除所有的和音符

  2. Python: str.split()和re.split()的区别

    str.split() 单一分隔符,使用str.split()即可 str.split不支持正则及多个切割符号,不感知空格的数量 re.split() 多个分隔符,复杂的分隔情况,使用re.split ...

  3. C++结构体字节对齐

    转自:http://www.cnblogs.com/JensenCat/p/4770171.html 这里是头文件结构的定义: 一个非字节对齐结构体_tagTest2 一个字节对齐_tagTest3 ...

  4. STM8S003F3通过PWM波实现三基色呼吸灯(转)

    源: STM8S003F3通过PWM波实现三基色呼吸灯

  5. JSmpeg-用JavaScript编写的视频播放器

    使用说明:https://github.com/phoboslab/jsmpeg ffmpeg -i rtmp://abc/ccc/111 -f mpegts -codec:v mpeg1video ...

  6. 20145101《Java程序设计》第一周学习总结

    20145101 <Java程序设计>第1周学习总结 教材学习内容总结 开学的第一周,通过课上老师的介绍和课下阅读教材我简单的了解java的发展历程,了解了JVM.JRE.JDK分别是什么 ...

  7. Python3基础 list 访问列表中的列表的元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. P3870 [TJOI2009]开关

    思路 重题 代码 #include <iostream> #include <vector> #include <cstdio> #include <cstr ...

  9. FJNUOJ Yehan’s hole(容斥求路径数 + 逆元)题解

    Description Yehan is a angry grumpy rabbit, who likes jumping into the hole. This day,Yehan jumps ag ...

  10. BZOJ1355: [Baltic2009]Radio Transmission KMP

    Description 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最短长度是多少. Input 第一行给出字符串的长度,1 < L ≤ 1, ...