在这系列文章中,我将记录自己学习Ruby on Rails 过程中遇到的问题与解决的方法。
在使用scaffold 建立可以发文的部落格系统时,建立使用者功能还满顺利的。启动server 后,连上网页觉得有点开心。只不过我的iTerm2 视窗一直在跑log,我该怎么让它停下来让我继续做其他事情呢?胡乱试了exit 跟 键都没反应,没打对关键字,Google也找不到办法。没关系,再开一个新视窗也可以动吧,等等再问熊老师...
开了新视窗,发现可以继续建立文章功能,靠着我的小聪明就按照教材的说明继续练习了,只不过这时我应该要输入:
$rails g scaffold Post title content:text is_available:boolean user:references
但我却把content:text打成content:test,user:references 少打一个s打成user:reference等我意识到这个错误的时候, table已经建出来了。啊,没关系,我可以把档案删掉,于是就照着先前学的语法,把db/migrate中产生错的rb档案删掉。重新建立、migrate、启动server,网页跳错误讯息(欸~为什么~)正当我点来点去,cd这里cd那里的时候,熊老师路过了:你在干嘛?
蛙:我建错table ,刚刚砍掉重建,我在想是不是还有别的东西要砍,可是很难找...
熊:你听过Visual Studio Code吗?
蛙:...(我去过Universal Studio...
看我一脸呆滞,熊老师一边帮我安装Visual Studio Code,一边说: Visual Studio Code 可以帮助你看每次下指令后,产生了哪些档案,也能帮助你编辑那些档案,不然你打算cd 到什么时候...
熊:输入完指令,稍微看一下产生那些档案,用那些路径去 Visual Studio Code 看一下有哪些档案,内容是什么,你就知道为什么光砍那个rb 为什么没有用了。现在,直接砍掉专案重新来过吧!这次就用Visual Studio Code 确认一下产生的档案和内容,
蛙:嗄,这样好可惜,因为打错几个字,就全部重练喔...
熊:给自己多几次练习的机会不会吃亏的,这次就可以用Visual Studio 看看产生档案的内容,你就会知道为什么不能只砍掉db/migrate 里的rb 档案了。
照着熊老师的建议,我砍掉整个hello_rails 专案,从头开始。这才发现scaffold 是家庭小精灵吗,也自动产生太多档案了吧,javascripts、stylesheets、controllers、helpers、models、views、test... 难怪只砍掉db/migrate 里面对应的rb 档是不够的。还有Visual Studio 也太好用了吧,所有资料夹跟档案都排排站好,的确看多个档案比较方便,但熊老师也有示范vim 指令背的好,处理单一档案的确也快很多。之后再慢慢练习(握拳
学到目前为止,发现这其中有很多「我不知道你不知道」的状况,如同文章一开始时,不知道要怎么关闭启动server 的模式(熊:按Ctrl 加c 啊,一开始有写,你没看到吼),这也显示出了对于我下指令后系统跑出来的log 灵敏度是0,我想这小时候用486 电脑玩大富翁的后遗症,现在是要进入做大富翁游戏的世界,应该要把本人内建的感应器打开才对。另外像是iTerm2、Visual Studio Code 之类好用的辅助工具,这真的要多看多问不要怕自己无知(因为我确实无知)或偷偷看一下工程师的萤幕才会知道,不然就是让他们来看你的萤幕,大多数具有恻隐之心的人类有打火机时,都不会眼睁睁看着你钻木取火的。