Rails Campo 3 新项目

tiseheaini · 2014年07月13日 · 最后由 cqcn1991 回复于 2014年07月26日 · 3972 次阅读

Campo 3@rei 的一个用 Rails 做的论坛类项目,风格清新受到很多人欢迎。 前段时间 clone 了一份下来看,代码写的非常好,很适合新人看。这也是很多人喜欢它的原因之一。 不过有一个不能让所有人都接受的问题是,rei 在技术选型上使用了比较生涩的技术,让很多新人看到代码后不能立即动手改写。 从菜鸟走过来的人会有一个感触,技术需要设计的很简单,能够迅速搭建起来使用,才能马上入门,遇到自己不满意的地方查文档然后去改代码,慢慢的就会轻车熟路得来应手,如果将进入门槛设的太高,对于新人来说很不友好。 也是由于这个原因我希望将 Campo 里面用到技术换成新人比较容易接受的技术。

Postgresql ==> Mysql Slim ==> Erb

目前 Postgresql ==> Mysql 代码已经完成,代码测试没有问题。 Slim ==> Erb 正在进行中 这里的工作量比较大,一时间没办法快速完成。

声明一点,这个项目会紧跟 Campo 项目,不会有添加新特性进去。

wiki 里面列出了项目进度 https://github.com/tiseheaini/campo-hm/wiki

slim => erb 你搜搜有没有现成工具

#1 楼 @Rei 我搜了一些,没有找到,找到的那些效果也不是很好,然后就开始手动改了。

我觉得 slim -> erb 的成本远远大于学习 slim 的成本,为什么要走这一步呢?

#4 楼 @lgn21st 对于新人来说,开始时就应该把精力放在实现上,而不是学 Slim Postgresql Coffee Sass ,不是说用这些不好,而是学习精力太分散。 erb 可能写的嵌套太多了会乱,但至少这个很容易学习和看懂,可以把重点放在更改和修改功能上,学习代码实现原理上。其他的 Postgresql Coffee Sass 也是同理。

slim, halm 记不住啊

楼主有空能不能也顺便改改 errbit

#7 楼 @hz_qiuyuanxin 可能我的时间并没有那么多

手工来维护一个 erb 的版本,负担很大啊。上游的 slim 版本修改后,要怎么合并?好像只能手工再改一遍。

另外,把宝贵的时候浪费在 slim -> erb 的转换中,挺不值得的。

这些都是基本的东西,学 Rails 也包括学 gems。既然你自认是新手,就应该把知识的杯子放空,先接受,再来取舍。基本都没有掌握,“实现”多数情况下也是一团乱麻。

#9 楼 @chaixl 对,你说的没错,就是用这种方式维护。

#3 楼 @tiseheaini 最好还是用脚本处理,然后跑测试,手工修复一些额外问题。我有计划下一版做个大的改动,不用 bootstrap,全手工会脱节。

我觉得为了完全面向新手,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

@tiseheaini @Rei Campo 的技术栈确实还是很不对新手友好的。不过这病不影响 Campo 成为一个优秀的项目!感谢@Rei

楼主有空能不能也顺便改成 php 的。rails 学习成本太高了。

17 楼 已删除

#4 楼 @lgn21st 如果要找不懂 slim 的人写 css,是不是可以理解用 erb 的成本实际就小些?

#19 楼 @sundevilyang slim 是一种 html 的方言,被解释执行后,生成 HTML,写 CSS 的时候完全可以依照生成的 HTML 来写,而不必去考虑 slim 的细节,当然这是理想情况,大多数情况下,写 CSS 的时候同时可能需要修改 HTML,这时候免不了要直接改 slim。

觉得这想法挺不错的,适合初学者学习,抽空也参与下。

#16 楼 @zedde 之前用 yii 写过一个,yii 类似 rails,所以也挺快的,不过我的前端全部借用的 F2E.IM

slim 转 erb 写个转换程序就行了,应该挺简单的。

25 楼 已删除

postgres 变成 mysql,以及 slim 变成 erb,我完全不觉得这有任何意义。 学习 slim 到能用的程度最多一上午看个文档就够了。 至于 postgres,只管用默认配置,完全不用操心。

同觉得没必要啊.... 真想帮助新人的话其实可以就 campo 写个教程,或者写个 campo 源码阅读指南~~~~

我最近在强迫一个新人写 slim……因为那厮压根就胡乱写缩减,或者干脆不缩进………这也算 slim 的优势之一?

#28 楼 @cassiuschen 想起你这个场景就感觉神清气爽,这种人得用 slim 治一下,看来我也要转向 slim 好了,这样跟别人好合作,反正我个人写什么代码都严格缩进的。

@cassiuschen @Peter 我最初在公司坚持要求使用 slim 的最重要的想法,就是打算治一治胡乱缩进。现在大家喜欢并爱上 slim 了。

#29 楼 @Peter 主要是 slim 的语法和写 jquery 的选择器一样,读起来也方便。

#30 楼 @chaixl 效果显著!

对真正的新手来说 MySQL == PostgreSQL slim == erb

问:为什么一定要装换成 erb ? 答:因为便于新手理解,方便实现。

分析:之前没有遇到 erb 的时候要学习 erb,现在既然遇到 slim 那么现在就花点时间学习 slim,对于新手来说这就是一个脱新的过程。 如果 Rails 默认的是 slim,那么当遇到一个项目是用 erb 的时候是否又要将它装换成 slim?

结论:LZ 大可不必花时间在 erb 装换成 slim 上面。

作为新手,我觉得 slim 还是挺容易学的。但是一上来就 slim 也现实。可是,也没有人一上来就是学 campo3, 如果是从 rails tutorial 开始的话,这时候接触些 gem 已经够了。 反而是像 coffee,我觉得对新手最难的。跟 js 差得比较多

需要 登录 后方可回复, 如果你还没有账号请 注册新账号