12.4 小结

实现了动态流后,本书的演示应用就开发完了。这个应用演示了 Rails 的全部重要功能,包括模型、视图、控制器、模板、局部视图、过滤器、数据验证、回调、has_many/belongs_to 关联、has_many :through 关联、安全、测试和部署。

除此之外,Rails 还有很多功能值得我们学习。下面提供了一些后续学习资源,可在以后的学习中优先使用。

12.4.1 后续的学习资源

商店和网上都有很多 Rails 资源,而且多得让你挑花眼。可喜的是,读完这本书后,你已经可以学习几乎所有其他的知识了。下面是建议你后续学习的资源:

  • 本书配套视频:我为本书录制了内容充足的配套视频,除了覆盖本书的内容之外,还介绍了很多小技巧。当然视频还能弥补印刷书的不足,让你观看我是如何开发的。你可以在本书的网站中购买这些视频。

  • RailsCasts:我建议你浏览一下 RailsCasts 的视频归档,观看你感兴趣的视频。

  • Tealeaf Academy:近些年出现了很多面授开发课程,我建议你参加一个当地的培训。其中 Tealeaf Academy 是线上课程,可在任何地方学习。Tealeaf 的课程组织良好,而且能得到老师的指导。

  • Thinkful:没 Tealeaf 那么高级的课程(和本书的难度差不多)。

  • RailsApps:很有启发性的 Rails 示例应用。

  • Code School:很多交互式编程课程。

  • Ruby 和 Rails 相关的书:若想进一步学习 Ruby,我推荐阅读 Peter Cooper 写的《Beginning Ruby》,David A. Black 写的《The Well-Grounded Rubyist》,Russ Olsen 写的《Eloquent Ruby》和 Hal Fulton 写的《The Ruby Way》。若想进一步学习 Rails,我推荐阅读 Sam Ruby、Dave Thomas 和 David Heinemeier Hansson 合著的《Agile Web Development with Rails》,Obie Fernandez 写的《The Rails 4 Way》以及 Ryan Bigg 和 Yehuda Katz 合著的《Rails 4 in Action》。

12.4.2 读完本章学到了什么

  • 使用 has_many :through 可以实现数据模型之间的复杂关系;

  • has_many 方法有很多可选的参数,可用来指定对象的类名和外键名;

  • 使用 has_manyhas_many :through,并且指定合适的类名和外键名,可以实现“主动关系”和“被动关系”;

  • Rails 支持嵌套路由;

  • where 方法可以创建灵活且强大的数据库查询;

  • Rails 支持使用低层 SQL 语句查询数据库;

  • 把本书实现的所有功能放在一起,最终实现了一个能关注用户并且显示动态流的应用。