就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。

你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?

是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?

说真的,任何建议/技巧/咆哮都很棒。


当前回答

我同意srboisvert的观点。不要在Windows上操作。您可以将Ubuntu (Linux版本)添加到Windows并进行双启动。这需要一些工作,但这比违背常理,试图让所有事情都在寡妇身上工作要容易得多。

Ubuntu, Heroku和Git工作得很出色。要知道学习曲线一开始是陡峭的。从Guru.com或Elance上雇佣一些人来帮助你。

此外,在Mac上运行Textmate是首选的解决方案,所以如果你正在考虑购买一台Mac或有机会使用一台Mac,这是最好的选择。我认为你不需要太多的计算能力……

最后,我最喜欢的书是《Agile Web Development for Rails》。谷歌搜索并不能很好地工作,因为大多数信息来自旧版本的Rails,已经被弃用或不能工作。

其他回答

http://www.teachmetocode.com是学习Ruby和Ruby on Rails的绝佳来源。这里有一些介绍Rails基础知识的屏幕视频,还有一个由6部分组成的系列,介绍如何使用Ruby on Rails创建Twitter克隆版。

这里有很多好意见。我要加上这里没有的。我的经验:

Rails on Windows is easy to get going with RailsInstaller, especially if you're using SQLite. If you want to use Ruby gems which need C extensions (e.g. RMagick), installation is difficult and unpredictable. PostgreSQL is a pain to install on Windows, and a pain to hook up to Rails. git doesn't work quite right on Windows. IDEs are bulky (Aptana). Notepad++ is good enough. Rails on Ubuntu is easy, and gems requiring C libraries just work. If your computer is powerful enough, use VirtualBox or VMWare Player, and use an Ubuntu Virtual Machine.

设置资源

本页面展示了如何在Ubuntu 11.10上安装Ruby/Rails/PostgreSQL。 如果你不喜欢RVM(我不喜欢),使用rbenv。RVM和rbenv是用于管理多个Ruby版本的工具,包括JRuby、Rubinius等。

用于开发/测试的实时部署

实时部署可以让你的朋友试用你的应用。它也可以让你更容易与需要回调到Rails服务器的web服务交互(如PayPal IPN或Twilio)。 Heroku.com是我最喜欢部署的地方。 localtunnel.com是一个很好的实用工具,可以将一个公开可见的URL指向本地Rails服务器。(我只在基于windows的Rails服务器上使用它)。

学习

试试网上的教程。 使用stackoverflow.com来提问。 使用“raise Exception, params”。to_s”在你的控制器中停止应用程序,打印出驱动你的控制器的所有参数。这让我对如何在Rails应用程序中来回传输数据有了最深刻的了解。 使用Rails控制台(“Rails控制台”)检查数据,并在将代码片段嵌入模型或控制器之前试用它们。

我认为来自Peepcode的截屏和短书真的很好。他们有一些截图让你开始学习,当你更深入的时候也会有一些。

学习任何东西(包括Ruby on Rails)的最快方法是结对编程。

找一个懂Rails的人,选择一个示例应用程序,坐下来,解决bug,添加功能。

知识共享是不可思议的。

Railscasts shmailcasts… 1. 想想你想要开发的应用类型。 2. 花20分钟整理一些用户流程 3.带着你的项目去阅读“使用Rails进行敏捷Web开发”的前几章 4. 在windows或mac电脑上安装Netbeans和rails。两者都是一样的。 5. 开发你的应用 6. 在开发过程中,请查阅大量在线参考资料。