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

lgn21st · 2012年02月21日 · 最后由 lanzhiheng 回复于 2020年08月03日 · 29477 次阅读

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

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

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

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

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

关注!

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

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

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

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

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

强烈支持

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

mark...关注

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

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

http://codecampo.com/

https://github.com/chloerei/code_campo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

好贴。。。mark

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

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

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

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

#36 楼 @daqing 不开源的么?

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

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

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

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

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

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

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

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

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

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

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

不好意思,还不会发私信

顶起来

这个需要顶。

呵呵。。。再加一个 rubyer

好帖子。。

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

有这样的项目吗?

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

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

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

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

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

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!

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

您好,我想发置顶贴,请问可以吗?或者有什么可以广告合作形式,15901161315 这是我的联系方式

willmouse 请大家推荐适合初学者适合阅读的 Gem 源码 提及了此话题。 04月03日 10:57

我觉得 homeland 的源码就很适合。

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