虽然才第二章
但是已经感觉有压力了
害怕自己前面学的不扎实
怎么办
我的建议是
把学习的过程记录下来
是个笨方法
但是有效
以前还有狠人手抄代码呢
仅仅为了提升语感
恩,代码也是一种语言
这第二章
就这么开始了
设计一个玩具app
可以重新建一个repo
也可以沿用第一章里的
建议都做一遍加深记忆
然后直接就开始输入
rails generate scaffold User name:string email:string
不懂什么意思
这里其实已经开始根据模型(model)建立数据库了
rails db:migrate
很多初次面对这种操作的小伙伴可能会一脸懵逼
但是我也没啥好教的
来回操作了五六次之后
我自己才稍微明白这么操作背后的原理
所以
大家再接再厉吧
仅仅是这两步操作
当你rails s的时候
打开/users目录出来的结果就不一样了
还能new一个用户试试
结果就出现问题了
google一下问题
尽量在Stack Overflow里找答案
大概试了七八个解决方案后
总算找到了
就和玩游戏一样
打完这一关
赶紧存个档
git add .
git commit -m “adding user table”
git push origin master
为啥要这么做呢
当遇到下一个问题的时候你就会理解了。。。
恩,添加修改和删除用户
运行无碍
中场休息
现在回顾一下之前的操作
其实就是在第一章默认的框架里
改了index显示hello world
添加了一个叫user的数据库
不过整个过程比较简单
一句命令就完事
这也是ruby on rails厉害的地方
适合懒人
然后就是遇到了教程中没有出现的故障
即使完全按照教程来操作了
在技术的世界
这属于常态
所以需要不断的google
解决一个问题就存档commit一下
这也是个好习惯
当然
慢慢入门后
碰到的问题少了
(基本不可能,只会越来越多)
就可以每个功能存档一下
如果是多人协作的项目
还需要各自负责不同的分支branch
然后测试
然后merge
休息完毕
继续新的知识点
REST这个概念很重要
他解释了那句命令背后
模块化生成的一堆操作
大家可以看看
app/models/user.rb
app/views/users/index.html.erb
app/controllers/users_controller.rb
正好是对应的三个文件
Model、View、Controller
当然
scaffold也是有缺点的
这些会在之后的章节里解决
那么我们继续建下一个表
rails generate scaffold Micropost content:text user_id:integer
建完之后要移植一下
或者说重置一下
rails db:migrate
才能使新的数据库生效
运行一下
又碰到了前面的问题
一模一样
但是这次不用再重复改七八次了
如果你记性够好的话
直接在micropost的controller里添加
protect_from_forgery
就ok了
完美
继续
给post的内容长度加限制
微博嘛
不能超过140字
实地检验一下
是有效的
额,后面开始抽象起来了
比如一个用户可以有多篇微博
每个微博都属于一个特定用户
然后进入irb环境熟悉熟悉mysql的另一种操作
差不多就是这样了
一些输入限制(validation)也很简单
这里fill_in对应改成:name和:email
基本上都是照着做一遍就懂了
章节的最后解释了一下
为什么如此简单就建了两个表
和这么多页面加操作
其实这部分得益于面向对象编程里的继承
user和micropost都是从application继承的
人家早就打包了所有常用功能
最后
本章小结
在第一章的基础上
我们对rails有了一个更具体的了解
深入体验了MVC
尝试了REST框架
初识了数据模型
第一次成功开发了一个带数据库后台的程序
看到如此多的成就
下面的哪些缺点暂时先忽略吧
目前学得还算扎实
休息,休息一下~
领取专属 10元无门槛券
私享最新 技术干货