我已经用PHP和MySQL制作了近十年的网站,但我从未使用过框架。这意味着我手动编码了所有内容,并且我知道代码是如何工作的并且与自身交互。
为了扩展我的视野,我已经选择了Ruby on Rails来学习另一种Web语言,框架,数据库等。我一直在关注Ruby on Rails教程,到目前为止它很顺利但是有什么问题让我烦恼不已。黑盒子感觉。有太多的魔法,而且事情的发生只是因为它确实发生了。这个“魔术”的例子包括,如果我添加到路径文件“resources:users”,我突然有近无限可能的链接,比如/ new / user / 1 / user / 1 / edit等。或者如果我想要在我的db表中添加一列我必须在控制台“rails integrate _to_table value:type”中执行类似的操作,然后我必须“耙”db。
我已经能够按照教程制作内容,但我不明白我在做什么。我知道它的一部分将来自经验但我想知道Rails如何以及为什么要做它做的事情。
有什么好的资源,在线和书籍,我可以在哪里学习RoR的工作原理?
答案 0 :(得分:5)
是的,知道所有魔法是什么需要一段时间,但如果你坚持下去,你最终会到达那里。
ruby on rails development的'bible'是http://pragprog.com/book/rails4/agile-web-development-with-rails
红宝石语言本身的“圣经”是“镐”书,由红宝石语言作者本人提供。 http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177
Ryan Bates已经完成了大量的免费场景广播,他以有效的方式使用该框架而闻名。这些高度的每一个最好的rubiest率。 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范围内的某处,取决于特价优惠)这是非常值得的。
答案 1 :(得分:3)
如果他们想要在轨道上学习ruby,即使不了解Ruby,也适合新手。我可以说先尝试一下,然后跳上别人的书。
点击下面的链接,看看有两个可用于Ruby on Rails 3.0和3.2的教程
Ruby on Rails Tutorials link for Rails 3.0 and 3.2
对于那些不需要Ruby背景的教程
即使我喜欢Head First Rails,这本书也很适合理解 - 只是rails(没有TDB),所以初始你可以设置在rails环境中,之后跳转到上面的教程链接
答案 2 :(得分:2)
您可以在Github http://github.com/rails/rails上看到整个代码。
Jose Valim Book Crafting rails application也有助于理解很多内部导轨
答案 3 :(得分:1)
我会说使用“黑盒子”和“魔术”这两个术语是相当不足的,甚至可能有点贬值。我相信你所感受到的差异来自于Ruby是一种与PHP非常不同的语言,并且在PHP中编写Ruby中的高级抽象和约定更容易。 Rails充满了这些抽象和惯例,这些可能会让人感到困惑,特别是如果你不了解它们的内部工作方式。
也许这不是关于你应该阅读的Rails。我会说你应该首先尝试理解Ruby。为了使“黑盒子”的感觉消失,必须很好地理解它的块,它的对象模型和它们的混合物。
用现代编程语言编程并不是黑魔法。 Debugging Fortran code by printing the code and using crystals over the papersheets to find the bugs was.