Rails 哪个项目是你认为的最适合新手源码学习的 Rails 开源应用?

lgn21st · 发布于 2012年02月21日 · 最后由 zhulinpinyu 回复于 2016年07月12日 · 20880 次阅读
3

今天在RubyTuesday有个朋友问我,希望推荐一个Rails的开源应用,用来源码学习。 这个问题大家在RubyTuesday上讨论了一下,没有结论,所以发到这里,需求如下:

  • 代码干净,工整,适合源码阅读
  • 主要focus在学习Rails应用开发,而不是Rails插件或者元编程
  • 难易程度定位在已经阅读过《敏捷web开发实践》,想要积累实战经验的初学者
  • 附带完整的测试用例,能够同时学习如何编写 unit test或者rspec
  • 可以通过学习掌握主流的Ruby/Rails开发技术

大家心目中有类似这样的项目么,注意不是推荐阅读Rails源码本身或者Sinatra这样的库或者框架级别的项目,而是真实的商业/企业/社交应用的项目。这个问题背后的需求是,帮助那些没有实战经验,想要自己主动积累相关经验,然后去争取Rails职位的朋友。

共收到 69 条回复
475

rabel那套可以读。只是haml我看着蛋好痛。

602

现在回想起来觉得自己直接写帮助比较大。 推荐的话我会推荐当时对我帮助比较大的 angel_nest ,但是用的是slim来输出html。 https://github.com/fredwu/angel_nest 然后就在看 ruby-china了。

594

关注!

602

为什么 url中的下划线会被吃掉? angel_nest 中间有下划线 是因为safe_html的作用么

958

如果你真想用Rails做应用的话,你不妨自己做一个简单的记账本试试,或者是说结合自身的需求,或者是身边的人的需求,做一个简单的东东,并逐步优化完善。

558

源码我推荐读读@saberma的shopqi https://github.com/saberma/shopqi 代码很整洁,而且一直在更新

594

7楼 @camel 这个图太逼真了,我在显示器上按了半天。 Alt text here

594

@lgn21st 建议关于这个问题,事后可以建立一个wiki

96

强烈支持

1141

关注一下,因为“Agile Web Development with Rails, 4th Edition”我马上要看完啦。 正希望能快点成长

341

mark...关注

611

radiant

96

https://github.com/radar/forem.heroku.com https://github.com/radar/forem 这是一个论坛app的开源代码。前一个是rails demo,后一个是engine,被前一个调用. 我看了下源码里的model数量不是很多,学习负担不是很大,而且论坛这种形式的应用需求大家都很了解的,无需别人解释。 可以先学习demo,然后自己建一个app,尝试下其engine,最后再学习engine。 而测试的代码,在engine里都有的。

3

#9楼 @ery 同意,这应该是一个长期的话题,而且最好能有更多的源码学习和经验分享,可以帮助后面学习源码的同学。

1

http://codecampo.com/

https://github.com/chloerei/code_campo

刚刚做过裁剪,只剩下 Topic 和相关功能,非常简单,现在更多经验放在前端体验上。用了 haml 和 mongoid 可能给入门者一点干扰。代码测试比 1:0.8,gem 也刚刚升到最新。

看到最后一段囧了,这是非商业的,而且流量很小。

96

#16楼 @Rei 节点也去掉了?那现在的话弄个tags页面会更好吧?

1

#17楼 @vkill codecampo 一直用 tags 没有用节点(分类),跟 ruby-china 是不同的代码。tags 的问题是话题聚合的问题,之前的发贴都靠自觉,在考虑怎么解决,比如 tag 补全提示是要加的。tags 页面可能会弄,还没想好表现形式。

515

#8楼 @ery 刚仔细的看到这图片 原以为是虫子呢

4

当年看的是beast.... 不过着实太久不更新了...

那个再适合新人学习rails不过了...

216

@camel @lgn21st 开源的东西很多,但是要说商业应用的还是少了,这样做的风险很多朋友也提到了,竞争的、漏洞方面的,等等,我也有过担忧,只是心中还是向往开源。回忆起最初学rails的时候就希望中国能有个实际开源的rails项目,可以知道别人是怎么做的,有个参考会节省很多时间,所以我就从一开始就把ShopQi开源了。

@lgn21st 提到的刚好和我最初的想法很像:

代码干净,工整,适合源码阅读

ShopQi会尽量保持代码简洁,易读,必要时会有中文注释;有时候看到不错的ruby技术文章,在ShopQi用了,会在旁边加上短链接引用,方便延伸阅读。要完全达到代码简洁这个目标,需要长期进行重构,而重构的基础是完整的自动化测试

主要focus在学习Rails应用开发,而不是Rails插件或者元编程

满足

难易程度定位在已经阅读过《敏捷web开发实践》,想要积累实战经验的初学者

满足

附带完整的测试用例,能够同时学习如何编写 unit test或者rspec

大多数功能都有rspec单元测试和capybara做集成测试,以保证开发过程中不会破坏以前的功能

可以通过学习掌握主流的Ruby/Rails开发技术

登录认证、oauth2认证、上传、中文全文检索、缓存、后台任务、wiki系统、支付网关、backbone单页无刷新应用、部署,ShopQi包含了rails项目开发过程中的大部分技术应用

以上几点,ShopQi基本都能满足,只是不知道功能太多,有点担心初学者会无从下手。 https://github.com/saberma/shopqi

@ery 嘿嘿,上面的虫子好玩吧

270

redmine 或者 rails 的源码, rails的源码是非常好的东西,不过就是太复杂了

188

咳咳,虽然已经在前几楼推荐过了,但是作为原作者,我还是再来推荐一下我的 https://github.com/fredwu/angel_nest :)

22

我看的第一个项目就是homeland,ruby-china的前身!!

3

#25楼 @fredwu 我已经在线下强力推荐过你得项目了,呵呵,特别是rspec test部分,干净清晰,虽然我是喜欢用factory_girl得,呵呵。

3

#23楼 @saberma 谢谢,已经将你得ShopQi加入我得源码阅读list,呵呵。

17

Typo挺不错的,一个博客系统,像常见的登陆,权限管理,模板之类的功能都有,这些功能大部分网站都需要

96

没有人关注这个? https://github.com/diaspora/diaspora 开源的分布式SNS

16

#30楼 @FoGhost 不错,少见的cucumber项目。

61

这是多好的一个帖子啊,多谢各位

96

关注中

96

-_-# 为什么没人提ruby-china???有些难? shopqi用的gem更多啊

96

好贴。。。mark

101

我是Rabel的作者,Rabel是一套简洁的商业论坛程序,使用Rails 3.2.1开发,拥有丰富的rspec和cucumber测试用例。既然这里要求是商业/企业项目,我就大言不惭的推荐一下Rabel。

同时,我正在做基于Rabel源代码的免费培训活动。

感兴趣的同学,可以搜索rabelapp这个关键字,或者查看我的个人主页。

96

#34楼 @jinleileiking 说的对,直接contribute to ruby-china,自己就可以看到自己的修改被无数人用,感觉给力啊,呼吁大家一起contribute一下吧。

16

#36楼 @daqing 不开源的么?

101

#38楼 @ywencn Ruby China是开源的。另外,刚刚发现,标题中说的是Rails开源应用,内容中又要找商业项目,有点疑惑。

3

#39楼 @daqing 找商业应用,或者企业应用的目的,是为了契合能够通过源码学习,能够去应聘普通工作的同学,不过我想Rails的工作也不仅仅是商业或者企业应用,还有很多的SNS应用,所以大可不必仅限于此。

96

#23楼 @saberma 貌似 缺少 shopqi 的安装指南。

216

@oppih28 不好意思,之前是用了vagrant box,后来删掉了,有时间再重新搞安装说明

422

@saberma shopqi默认采用pg数据库,是做何考虑呢?mysql性能跟不上?

3

#43楼 @alucardpj 默认适用pg数据库有另外一个好处,就是可以直接无障碍的部署到Heroku上,不知道 shopQi 是不是这个原因? cc @saberma

216

@alucardpj @lgn21st 最初是看上了pg的DDL rollback特性。mysql有时候执行migrate,出错了,创建的表那些都还会保留。

96

#45楼 @saberma shoqi用的是啥环境,ruby-1.9.3 用bundle install报错了....好像就是pg报错了...到现在还没部署上

216

@cbkid 用的是ruby-1.9.3-p0,你安装了pg没有?报错的内容是?

96

#47楼 @saberma 不好意思插入一张图片...因为没用putty链接不能复制出内容。 有点不明白是pg需要在系统就安装上,还是就是通过GEM编译的,而且编译错误了

3

#47楼 @saberma #48楼 @cbkid 关于在windows上部署 ShopQi,你们可以开专题帖子讨论嘛,这里希望继续收集靠谱的Apps,推荐给大家。

96

不好意思 ,还不会发私信

96

顶起来

1551

这个需要顶。

2299

关注

96

呵呵。。。再加一个rubyer

1232

好帖子。。

3587

mark ~

2116

按楼主的描述,需要的是一个现成的,基于现实需求的应用,这似乎一时很难找到。而且,我认为也很难有一个真实的项目适合于教学,生产环境与教学环境下的代码还是区别很大的。 我觉得理想的是维护一个或一系列专门面向教学环境的示例应用,比如 对《敏捷web开发实践》中的depot的扩展和完善,,又或者将ruby-china.org的源码fork出一个教学版本等等

96

有这样的项目吗?

7703

对啊,我刚搭建好环境,忽然有种无从下手的感觉,不知道从何学起。。。哎

8787

顶啊,ruby 中国上应该多弄点这种项目,让大家学习啊。。

96

@lgn21st 咱青岛的Qingdaorails社区啥时候搞搞啊?人不多的化先从给大家培训下开始哇,哈哈哈~~

96

我在想 ruby-china.org 的源代码是不是 rails 的...........

8011

关注中,看完 tutorials 就可以拿个项目过过修修改改了。 :)

7966

hi wiki里面安装rails环境的帖子里面,mac ox安装homebrew的地址老了.

Whoops, the Homebrew installer has moved! Please instead run:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Also, please ask wherever you got this link from to update it to the above.
Thanks!
194

#8楼 @ery SB的去吹了两下才发现是图

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