Ruby on rails 新手学习第七天
学习资料:
https://sg552.gitbooks.io/happy_book_rails/content/part3_rails_premier/rails_tutorial_from_view.html
https://www.bilibili.com/video/BV1RJ411W7N3?p=1
学习目标:
CRUD
学习内容:
1.READ
find_by!: 加上!当发生异常时会抛出异常
find_by_sql: 直接传入sql语句 (当项目非常大,关联非常多,sql非常复杂时需要使用)
Model.where:
User.where([“id = ? and username = ?”, 3, “code”]).first
u = User.where(id = 3) , u = User.where(username = “code”) #持续叠加条件,与上面一行效果相同
n + 1查询
n : 每行数据都要再进行一次查询
1 : 第一次查询列表所有数据
浪费时间,需要避免
#includes 指定内部要关联哪些数据,rails自动缓存加快运行速度
2.UPDATE
Model.update_attributes title: “", content: "”
Model.update_attribute :title, “*”
Model.changed?当前是否有已修改没保存的?
Model.changed_attributes 哪些字段修改了没保存?
!方法
save!
create!
update_attributes!
更新失败会抛出异常
!](https://img-blog.csdnimg.cn/20200721145843511.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzY0NTU0NQ==,size_16,color_FFFFFF,t_70)
rails g model / rails g migration
=> rake db:migrate / rake db:rollback (STEP=n *回滚多次)/ rake db:migrate:status
up / down :更新 / 回滚
|
请发表评论