Campo 3 是 @rei 的一个用 Rails 做的论坛类项目,风格清新受到很多人欢迎。 前段时间 clone 了一份下来看,代码写的非常好,很适合新人看。这也是很多人喜欢它的原因之一。 不过有一个不能让所有人都接受的问题是,rei 在技术选型上使用了比较生涩的技术,让很多新人看到代码后不能立即动手改写。 从菜鸟走过来的人会有一个感触,技术需要设计的很简单,能够迅速搭建起来使用,才能马上入门,遇到自己不满意的地方查文档然后去改代码,慢慢的就会轻车熟路得来应手,如果将进入门槛设的太高,对于新人来说很不友好。 也是由于这个原因我希望将 Campo 里面用到技术换成新人比较容易接受的技术。
Postgresql ==> Mysql Slim ==> Erb
目前 Postgresql ==> Mysql 代码已经完成,代码测试没有问题。 Slim ==> Erb 正在进行中 这里的工作量比较大,一时间没办法快速完成。
声明一点,这个项目会紧跟 Campo 项目,不会有添加新特性进去。
wiki 里面列出了项目进度 https://github.com/tiseheaini/campo-hm/wiki
手工来维护一个 erb 的版本,负担很大啊。上游的 slim 版本修改后,要怎么合并?好像只能手工再改一遍。
另外,把宝贵的时候浪费在 slim -> erb 的转换中,挺不值得的。
这些都是基本的东西,学 Rails 也包括学 gems。既然你自认是新手,就应该把知识的杯子放空,先接受,再来取舍。基本都没有掌握,“实现”多数情况下也是一团乱麻。
我觉得为了完全面向新手,slim 可以换成 erb,但数据库不必要换了。都是 SQL,主要是用 ActiveRecord API,如果用到 PG 特定的特性就不好转换了。Rails 默认还是 sqlite3 数据库呢。
coffee/scss/turbolinks 都是 Rails 默认组件,我觉得新手要学 Rails 也应该同时学,换个角度说,要学这些组件的时候也需要一个例子。
Rails 4.2 之後有一篇官方指南講 PostgreSQL:http://edgeguides.rubyonrails.org/active_record_postgresql.html 。
#19 楼 @sundevilyang slim 是一种 html 的方言,被解释执行后,生成 HTML,写 CSS 的时候完全可以依照生成的 HTML 来写,而不必去考虑 slim 的细节,当然这是理想情况,大多数情况下,写 CSS 的时候同时可能需要修改 HTML,这时候免不了要直接改 slim。
postgres 变成 mysql,以及 slim 变成 erb,我完全不觉得这有任何意义。 学习 slim 到能用的程度最多一上午看个文档就够了。 至于 postgres,只管用默认配置,完全不用操心。
#28 楼 @cassiuschen 想起你这个场景就感觉神清气爽,这种人得用 slim 治一下,看来我也要转向 slim 好了,这样跟别人好合作,反正我个人写什么代码都严格缩进的。
问:为什么一定要装换成 erb ? 答:因为便于新手理解,方便实现。
分析:之前没有遇到 erb 的时候要学习 erb,现在既然遇到 slim 那么现在就花点时间学习 slim,对于新手来说这就是一个脱新的过程。 如果 Rails 默认的是 slim,那么当遇到一个项目是用 erb 的时候是否又要将它装换成 slim?
结论:LZ 大可不必花时间在 erb 装换成 slim 上面。
作为新手,我觉得 slim 还是挺容易学的。但是一上来就 slim 也现实。可是,也没有人一上来就是学 campo3, 如果是从 rails tutorial 开始的话,这时候接触些 gem 已经够了。 反而是像 coffee,我觉得对新手最难的。跟 js 差得比较多