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

lgn21st · 发布于 2012年2月21日 · 最后由 zhulinpinyu 回复于 2016年7月12日 · 19789 次阅读
3

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

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

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

共收到 69 条回复
475
metal · #1 · 2012年2月22日

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

602
tassandar · #2 · 2012年2月22日

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

594
ery · #3 · 2012年2月22日

关注!

602
tassandar · #4 · 2012年2月22日

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

594
ery · #5 · 2012年2月22日
958
zfjoy520 · #6 · 2012年2月22日

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

558
camel · #7 · 2012年2月22日 1 个赞

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

594
ery · #8 · 2012年2月22日

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

594
ery · #9 · 2012年2月22日

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

96
ivice · #10 · 2012年2月22日

强烈支持

1141
feitian124 · #11 · 2012年2月22日

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

341
wikimo · #12 · 2012年2月22日

mark...关注

611
lucifer · #13 · 2012年2月22日

radiant

96
raykin · #14 · 2012年2月22日

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

3
lgn21st · #15 · 2012年2月22日

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

1
Rei · #16 · 2012年2月22日 1 个赞

http://codecampo.com/

https://github.com/chloerei/code_campo

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

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

96
vkill · #17 · 2012年2月22日

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

1
Rei · #18 · 2012年2月22日

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

515
kewin · #19 · 2012年2月22日

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

96
vissul · #20 · 2012年2月22日

支持@tassandar

4
poshboytl · #22 · 2012年2月22日

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

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

216
saberma · #23 · 2012年2月22日 4 个赞

@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
hysios · #24 · 2012年2月22日

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

188
fredwu · #25 · 2012年2月22日

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

22
bony · #26 · 2012年2月22日

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

3
lgn21st · #27 · 2012年2月22日

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

3
lgn21st · #28 · 2012年2月22日

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

17
cxh116 · #29 · 2012年2月22日

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

96
foghost · #30 · 2012年2月23日

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

16
ywencn · #31 · 2012年2月23日

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

61
pzgz · #32 · 2012年2月23日

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

96
ghostm55 · #33 · 2012年2月23日

关注中

96
jinleileiking · #34 · 2012年2月23日

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

96
railstdf · #35 · 2012年2月26日

好贴。。。mark

101
daqing · #36 · 2012年2月26日

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

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

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

96
piginzoo · #37 · 2012年2月26日

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

16
ywencn · #38 · 2012年2月26日

#36楼 @daqing 不开源的么?

101
daqing · #39 · 2012年2月26日

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

3
lgn21st · #40 · 2012年2月26日

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

96
oppih28 · #41 · 2012年3月07日

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

216
saberma · #42 · 2012年3月08日 1 个赞

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

422
alucardpj · #43 · 2012年3月08日

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

3
lgn21st · #44 · 2012年3月08日

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

216
saberma · #45 · 2012年3月08日

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

96
cbkid · #46 · 2012年3月09日

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

216
saberma · #47 · 2012年3月09日

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

96
cbkid · #48 · 2012年3月09日

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

3
lgn21st · #49 · 2012年3月09日

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

96
cbkid · #50 · 2012年3月09日

不好意思 ,还不会发私信

96
ivice · #51 · 2012年3月28日

顶起来

1551
LinuxGit · #52 · 2012年3月28日

这个需要顶。

2299
hawkflying · #53 · 2012年6月15日

关注

96
wuxinxinggg · #54 · 2012年6月20日

呵呵。。。再加一个rubyer

1232
tony612 · #55 · 2012年9月15日

好帖子。。

3587
hsming · #56 · 2012年12月04日

mark ~

2116
afly · #57 · 2012年12月04日

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

96
sanye · #58 · 2013年1月06日

有这样的项目吗?

7703
jeremy16601 · #59 · 2013年6月25日

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

8787
waitingaminute · #61 · 2013年8月22日

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

96
zhangweifang · #62 · 2013年10月18日

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

10314
dw250100785 · #63 · 2013年12月04日

#8楼 @ery ugly

96
dannyZhou · #64 · 2014年2月08日

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

3
lgn21st · #65 · 2014年2月08日
8011
kfihihc · #66 · 2014年2月16日

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

7966
towonzhou · #67 · 2014年11月21日

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
xingfuqiu · #68 · 2016年7月11日

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

4552
zhulinpinyu · #69 · 2016年7月12日
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册