赵龙 全栈之路

Rails Guides 感悟随笔

| Comments

在终端操作过程中,同一线程内的指令操作,按照时间的先后顺序执行,在一定条件下,后来的指令会覆盖先前的指令。

u = User.first
k = User.last

u = k

> k #=> User.last
> u #=> User.last

字母 “q” 与 “w” 都可以理解为 “标签” ,真正进行运算的是数据库里相对应的数据。同一时刻,一份数据可以拥有多个标签(可更改),一个标签只能对应一个数据或数据集(可更改)。

w = User.create(email: "333@qq.com", password: "111111")
q = w

#等价于上面的代码
q =w =User.create(email: "333@qq.com", password: "111111")

###
q.update(email: "323@qq.com")  

> q #=> ...(email: "323@qq.com")  
> w #=> ...(email: "323@qq.com") 

数据库中的数据对象(单条数据或数据表)可以同时拥有多个标签,每一个标签保存着创建时的数据快照(以最近一次更新数据为准),标签之间互相独立,没有影响。以下示例:针对标签 “p” 更新数据,标签 “k” 不会受到影响。
注意 updated_at(更新时间) 字段的不同。

p = User.last
k = User.last

> p #=> #<..., email: "777@qq.com", ..., updated_at: "2017-12-12 03:04:11">
> k #=> #<..., email: "777@qq.com", ..., updated_at: "2017-12-12 03:04:11">

k.update(email: "787@qq.com")

> p #=> #<..., email: "787@qq.com", ..., updated_at: "2017-12-12 03:11:40">
> k #=> #<..., email: "777@qq.com", ..., updated_at: "2017-12-12 03:04:11">

Routes

Rails.application.routes.draw do
  root 'welcome#index'
  resources :notices
end

在 routes 路由中 resources :复数名词

Controller

在 rails 中,在 Model(模型) 互相关联的两个数据表,在 Controller 中可以使用符号 . 进行关联简写代码,例如在正下方截图 @post.notice = @notice 中的 @post.notice 表示数据表 Post 关联的 Notice 的外键是。。。。



Comments

comments powered by Disqus