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_many
和has_many :through
,并且指定合适的类名和外键名,可以实现“主动关系”和“被动关系”;Rails 支持嵌套路由;
where
方法可以创建灵活且强大的数据库查询;Rails 支持使用低层 SQL 语句查询数据库;
把本书实现的所有功能放在一起,最终实现了一个能关注用户并且显示动态流的应用。