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

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

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

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


当前回答

I have got up to speed with Ruby on Rails fairly quickly via this free online course which is currently being offered by UC Berkeley - Software as a Service - Engineering Long Lasting Software with instruction by Armando Fox and David Patterson. I can't speak highly enough of this course... it really was a privilege to learn Rails from these guys. And there is an active community on the course forums if you run into difficulty along the way. The first offering of the online course has now finished (as of 25 March, 2012) - the next time it will be run will be sometime in September of 2012.

It assumes you are a fairly competent developer and gets you started on ruby in the second week, then Rails runs from the third week up to the end of the course (five weeks). Your assignments are marked by an auto-grader. You get provided with a pre-built Ubuntu VM image with everything you need for development pre-installed on it (e.g. Ruby, Rails, Rake, Gems, RSPec, Cucumber, etc). All you have to do is start up the VM inside the (free) VirtualBox software which runs on MacOSX, Windows and Linux.

这门课有一本推荐教材。在这里……但是你可以在网上看讲座和视频。

其他回答

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

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

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

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

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

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

知识共享是不可思议的。

我从Java到Ruby再到。我发现这个教程很有用http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-java/。当谈到学习rails时,我不能说我使用了多少脚本\控制台。它允许您摆弄代码并学习如何做您不确定的事情。

我买过的唯一一本书是《使用Rails的敏捷Web开发》,第三版http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition。它非常有用,并且很好地概述了Rails框架。除此之外,我还经常看Railscasts(http://railscasts.com),这是一个很棒的屏幕筛选博客,涵盖了各种Rails主题。

我个人更喜欢使用Linux(因为git工作得更好)。但是,我也使用过windows和git,我不认为操作系统的选择会影响你的编程。

我在我的IDE中使用netbeans,偶尔也使用vim(带有rails插件)。我喜欢netbeans,但是当涉及到Rails支持时,我发现它仍然有点不靠谱(不是所有的特性都能一直工作)。

对于像我这样从PHP转到RoR的人来说,这看起来是一个很好的资源

http://railsforphp.com/还有一本书《Rails for PHP Developers》

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

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控制台”)检查数据,并在将代码片段嵌入模型或控制器之前试用它们。