3

我已经用 PHP 和 MySQL 制作网站近十年了,但我从未使用过框架。这意味着我已经对所有内容进行了手工编码,并且我知道代码如何工作以及如何与自身交互。

为了扩大我的视野,我选择了 Ruby on Rails 来学习另一种 Web 语言、框架、DB 等。我一直在关注 Ruby on Rails 教程,到目前为止进展顺利,但有什么困扰我的呢?感觉。有太多的魔法,事情发生只是因为它确实。这个“魔法”的例子包括,如果我突然添加到路由文件“resources:users”我有几乎无限可能的链接,如 /new /user/1 /user/1/edit 等。或者如果我想在我的数据库表中添加一列我必须在控制台“rails integration _to_table value:type”中执行类似的操作,然后我必须“rake”数据库。

我已经能够按照教程制作东西,但我不明白我在做什么。我知道其中一部分将来自经验,但我想知道 Rails 是如何以及为什么这样做的。

有哪些好的资源、在线资源和书籍,我可以在其中了解 RoR 的工作原理?

4

4 回答 4

5

是的,要知道所有的魔法是什么需要一段时间,但如果你坚持下去,你最终会到达那里。

ruby on rails 开发的“圣经”是http://pragprog.com/book/rails4/agile-web-development-with-rails

ruby 语言本身的“圣经”是“pickaxe”书,其中包含 ruby​​ 语言作者本人的贡献。 http://www.amazon.com/Ruby-Programming-Language-David-Flanagan/dp/0596516177

Ryan Bates 已经完成了数百次免费的 sceencasts,他以拥有非常棒的方法而闻名,有效地使用了该框架。每个好的红宝石都对这些评价很高。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,然后是 ruby​​Mine(来自 IntelliJ 的朋友,以他们的 java 编辑器而闻名 。rubyMine具有最多的功能。它不是免费的,但价格合理(在 24 美元到 75 美元之间,取决于特别优惠)这很值得。

于 2012-03-08T14:51:53.823 回答
3

如果他们想在 Rails 上学习 Ruby,即使不了解 Ruby,这也是为新手准备的。我可以说先试试这个,然后再看其他书。

只需点击下面的链接,就会看到有两个适用于 Ruby on Rails 3.0 和 3.2 的教程

Rails 3.0 和 3.2 的 Ruby on Rails 教程链接

对于那些教程,您不需要 Ruby 背景

即使我喜欢Head First Rails,这本书也很适合理解 - 只是 rails(没有 TDB),所以最初你可以在 rails 环境中设置,然后跳转到上面的教程链接

于 2012-03-08T16:56:45.233 回答
2

您可以在 Github http://github.com/rails/rails上查看整个代码。

Jose Valim Book Crafting rails 应用程序也有助于了解 Rails 的许多内部结构

于 2012-03-08T14:44:52.613 回答
1

我会说使用“黑匣子”和“魔法”这两个词是很不恰当的,甚至可能有点贬义。我相信您感受到的不同之处在于 Ruby 是一种与 PHP 非常不同的语言,并且在 Ruby 中编写高级抽象和约定比在 PHP 中更容易。Rails 充满了这些抽象和约定,这些可能会让人很困惑,特别是如果您不知道它们内部是如何工作的。

也许您应该阅读的不是关于 Rails 的内容。我会说你应该首先尝试理解 Ruby。必须对它的块、它的对象模型和它的 mixin 有一个很好的理解,才能消除那种“黑盒”的感觉。

用现代编程语言进行编程并不是黑魔法。通过打印代码并在纸张上使用晶体来查找错误来调试 Fortran 代码。

于 2012-03-09T11:19:44.570 回答