以前只是关注Rails,经常看看ruby-china,在图书馆翻了两本Rails的书,其中有一本还是rails 2.x的,看了下了解了Rails的架构,熟悉了一下流程,知道怎么去看代码,不过还是没有动手写点东西,没有项目驱动。最近想给自己即将盘下的电脑培训工作室写个网站,终于开始动手写了。没有任何前端经验的我还想写个酷炫的网站,注定不会顺利,刚开始就遇到两大大坑,没有能力去解决,只能另选方案绕过了。
一、compass-twitter-bootstrap
在ruby-china看到《
聊聊主流框架,Less/Sass/Compass/Bootstrap/H5bp》得出总结最好的组合是:SASS+Compass+Bootstrap,于是首先选择这个作为网页布局的框架,花了若干天,居然搞清楚SASS及Compass的关系与Bootstrap的大概使用了。试着写写layouts的头部布局,想法是左边Logo,居右是个登录的Form,发现不是固定式布局,总是会按窗口比例缩放,查资料也只是说container就是固定布局,无解,后面也觉得这个样子不好看,于是换用Bootstrap黑又硬的navbar,在写下拉项时有遇到下拉项显示不出来,群里问来问去无果,突然想到我先写静态html来测试,发现这新的bootstrap的navbar默认已经不是黑色的,这下拉项也没有问题,遂醒悟compass-twitter-bootstrap Out了,换用bootstrap-sass,这几个无解的都解,container就是固定布局,下拉项也出来了,navbar默认白色也更有爱了。
二、slim
在ruby-china知道了slim,比起冗余的默认模板erb真的喜欢,于是果断用起。没想到也是大坑,先上代码:
ul class="nav nav-pills"
li
a href="#" 规则的链接
li class="dropdown" id="menutest1"
a class="dropdown-toggle" data-toggle="dropdown" href="#menutest1" 下拉项
b class="caret"
ul class="dropdown-menu"
li
a href="#" 动作
li
a href="#" 另一个动作
li
a href="#" 其他
li class="divider"
li
a href="#" 被间隔的链接
这个时候正常,本来 b class="caret"是要缩进去的,作为下拉项的子项,TAB、空格都试过,slim解析就是出错,于是这下拉箭头不能出现在正确的地方了。换回ERB,没有问题。这个应该是slim的BUG吧。
这些天大坑就这些,总结经验教训:新手应该找好合适的文章,开源代码,源码跑通,跟着教程来做。一开始就堆积最佳方案,只怕会消化不了。