12月15日 session:Ruby on Rails Security Guide//从第3节开始没有学习//关于find_by 和where的区别用法思考。
2.session笔记见13日的随笔。
http://www.cnblogs.com/chentianwei/p/8031913.html
3.Cross-site Request Forgery(CSRF)这之后没看。
再看find_by 和 where
我再做6-1购物车练习作业,设计一个功能:
点击加入购物车,可以增加cart_item的属性:quantity,但不会增加cart_item
可以使用find_by(product_id: product),但不能使用where(product_id: product)分析过程:
首先,对比sql语句。在控制台输入cart = Cart.last 最后得到不同的结果。
这是 用 cart.cart_items.find_by(product_id:4)
=> #<CartItem id: 26, cart_id: 5, product_id: 4, quantity: 1, created_at: "2017-12-15 13:20:33", updated_at: "2017-12-15 13:20:33">
这是 用cart.cart_items.where(product_id:4)
=> #<ActiveRecord::AssociationRelation [#<CartItem id: 26, cart_id: 5, product_id: 4, quantity: 1, created_at: "2017-12-15 13:20:33", updated_at: "2017-12-15 13:20:33">]>
我发现 区别:见上面标黄的的代码。
然后,我查看api文档。where的定义是return a new relation.而find_by的定义是finds the first record matching the specified conditions.
我在这个过程中反复试验,当使用where的时候在下一行代码ci.quantity +=1 提示❌,(没有quantity这个method),而find_by可以继续执行ci.quantity +=1 ,这就证明了where返回的是新的一个关系,而find_by是返回的符合条件的第一条记录。
最后,我记录这次思考,✌️。
12月15日 session:Ruby on Rails Security Guide//从第3节开始没有学习//关于find_by 和where的区别用法思考。的更多相关文章
- 2016年12月15日 星期四 --出埃及记 Exodus 21:10
2016年12月15日 星期四 --出埃及记 Exodus 21:10 If he marries another woman, he must not deprive the first one o ...
- 【C++】命令行Hangman #2015年12月15日 00:20:27
增加了可以在构造Hangman对象时通过传入参数设定“最大猜测次数”的功能.少量修改.# 2015年12月15日 00:20:22 https://github.com/shalliestera/ha ...
- 北京Uber优步司机奖励政策(12月15日)
用户组:人民优步及电动车(适用于12月15日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:htt ...
- AHKManager.ahk AHK管理器 2019年12月15日
AHKManager.ahk AHK管理器 2019年12月15日 快捷键 {Alt} + {F1} ///////////////////////////////////////////// ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- 12月15日smarty模板基本语法
smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...
- 12月15日BGV币行情分析
今日,DeFi市场格外精彩.各主流概念币种走势出现了涨跌各半的两极态势.笔者认为,由于并没有总体可以利好DeFi市场的基本面因素,所以各DeFi概念币种的涨跌态势,还是与各自的基本面和技术面走势相关. ...
- MDI窗体容器--2016年12月15日
MDI窗体容器 多文档界面(Multiple-Document Interface)简称MDI窗体.MDI窗体用于同时显示多个文档,每个文档显示在各自的窗口中.MDI窗体中通常有包含子菜单的窗口菜单, ...
- 12月15日DP作业
[APIO2014]连珠线 考虑一组以 \(x\) 为中点的蓝边,有两种可能: \[son[x]->x->fa[x] \] \[son[x]->x->son[x] \] 其中若 ...
随机推荐
- 数据仓库基础(三)OLAP
本文转载自:http://www.cnblogs.com/evencao/archive/2013/06/14/3135589.html 联机处理分析(OLAP):介绍 首先要理解的概念: 1.维度: ...
- nginx+tomcat把带WWW域名自动跳转到不带www域名方法
nginx+tomcat把带WWW域名自动跳转到不带www域名方法在nginx.conf里面 include /etc/nginx/conf.d/*.conf;在应该server里增加: if ($h ...
- MySQL数据库----数据锁
数据锁 需求: 有一个账户,两个人在同一时间要对此账户操作,A要对账户充值100块,B要从账户中取出100块.操作前都要先看一下账户的 余额然后再操作. -- 窗口1 用户进行充值 -- 充值前 先查 ...
- corejDay1
1.内部类: 有什么用? 1.可以访问该类定义所在作用域中的数据,包括私有数据. 2.当想定义一个回调函数而不想编写大量代码时,使用匿名内部类比较便捷. 3.内部类可以对同一个包中的其他类隐藏起来. ...
- P4281 [AHOI2008]紧急集合 / 聚会
P4281 [AHOI2008]紧急集合 / 聚会 lca 题意:求3个点的lca,以及3个点与lca的距离之和. 性质:设点q1,q2,q3 两点之间的lca t1=lca(q1,q2) t2=lc ...
- Python3基础 os listdir curdir 查看当前工作目录的所有文件的名字
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 用GDB调试Segmentation 段错误【转】
本文转载自:http://blog.csdn.net/learnhard/article/details/4879834 调试Linux程序的时候,出现Segmentation Fault是最郁闷的事 ...
- 【第三十七章】 springboot+docker(手动部署)
一.下载centos镜像 docker pull hub.c.163.com/library/centos:latest docker tag containId centos:7 docker ru ...
- Sql Server 创建表添加说明
http://bbs.csdn.net/topics/340184487 在此感谢 提供参考 CREATE TABLE ToPayFee ( Id INT IDENTITY(1,1) PRIMA ...
- 每个成长者,必须学会可以练习 (来自ProcessOn流程图工具作者底部)