我已经用PHP和MySQL制作网站近十年了,但我从未使用过框架。这意味着我已经手工编码了所有的东西,我知道代码是如何工作的以及如何与自己交互的。
为了拓展我的视野,我选择了Ruby on Rails来学习另一种网络语言、框架、DB等。我一直在学习Ruby on Rails教程,到目前为止进展顺利,但让我感到困扰的是它有多像一个黑盒子。魔法太多了,事情就是因为它而发生的。这种"魔力"的例子包括,如果我突然在路由文件中添加"resources:users",我会有几乎无限可能的链接,比如/new/user/1/user/1/edit等。或者,如果我想在数据库表中添加一列,我必须在控制台中做这样的事情"rails integrated_to_table value:type",然后我必须"rake"数据库。
我已经能够按照教程制作东西了,但我不明白我在做什么。我知道它的一部分将来自经验,但我想知道Rails是如何以及为什么做它所做的。
有什么好的资源,在线和书籍,可以让我了解RoR是如何工作的?
是的,需要一段时间才能知道所有的魔法是什么,但如果你坚持下去,你最终会达到目的。
ruby on rails开发的"圣经"是http://pragprog.com/book/rails4/agile-web-development-with-rails
红宝石语言本身的"圣经"是一本"鹤嘴锄"书,由红宝石语言作者本人撰写。http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177
Ryan Bates已经完成了数百次自由抽取,他以其非常出色的方法、有效地使用框架而闻名。每一个好的红宝石都高度评价这些。http://railscasts.com/
很多人觉得"僵尸"课程真的很好。http://railsforzombies.org/
最后,我将提供我自己的书签网站,其中包括50多个rails网站:
http://www.rormd.com/linker/groups/1
以及
上20多个ruby站点http://www.rormd.com/linker/groups/4
当您正在学习时,一个好的IDE可以帮助很多。我使用了eclipse,然后是netbeans,然后是rubyMine(来自我们在IntelliJ的朋友,以他们的java编辑器而闻名。rubyMine拥有最多的功能。它不是免费的,但就价格而言(根据特价,在24-75美元之间),它非常值得。
这是为新手准备的,如果他们想在rails上学习ruby,甚至不知道ruby。我可以说先试试这个,然后跳到其他书上。
点击下面的链接,可以看到RubyonRails3.0和3.2的两个教程
RubyonRails教程链接适用于Rails3.0和3.2
对于那些教程,你不需要Ruby背景
即使我喜欢Head First Rails,这本书也很好地理解了-只有Rails(没有TDB),所以最初你可以在Rails环境中设置,然后跳到上面的教程链接
您可以在Github上看到整个代码http://github.com/rails/rails.
Jose Valim Book Crafting rails应用程序有助于了解很多内部导轨。
我想说,使用"黑匣子"one_answers"魔法"这两个术语是不够的,甚至可能有点贬低。我相信,你所感受到的差异来自于这样一个事实,即Ruby与PHP是一种非常不同的语言,而且用Ruby编写高级抽象和约定比用PHP编写更容易。Rails充满了这些抽象和约定,这些可能会非常令人困惑,特别是如果你不知道它们在内部是如何工作的。
也许你应该读的不是Rails。我想说,你应该试着从一开始就理解Ruby。为了消除这种"黑盒"的感觉,必须对其块、对象模型和混合元素有很好的了解。
用现代编程语言编程不是魔术。通过打印代码并在纸张上使用水晶来查找错误来调试Fortran代码。