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

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

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

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


当前回答

0)先学习ruby。这是非常重要的。Rails的一个巨大优势是Ruby:一种非常强大的语言,但也非常容易被误解。在线浏览一些Ruby教程。当在Daily WTF上遇到编码挑战时,用Ruby编写。你会学得很快的。

1)去买《Ruby for Rails》这本书

2)查看Rails教程并订阅“驾驭Rails”博客。

3)在本地建立应用程序。不要使用脚手架。

4)当你在你的应用中安装插件时,去看看插件中的代码(在你的供应商目录中)并学习它。这是学习Ruby和Rails内部知识的最好方法之一。当你不明白某件事是如何运作的,把它贴在这里,有1000人会帮助你。

至于你的其他问题:

是的,您需要在Linux环境中进行开发。您可以在Windows上开发Rails,但这并不意味着应该这样做。许多宝石在Windows上跟不上速度。

NetBeans作为一个IDE工作得很好。如果你用的是Mac电脑,你会因为使用Textmate而获得好评。

其他回答

神奇的决定!在学习Rails之前,先了解Ruby是非常有用的,所以下面是我对学习Rails的最佳途径的看法:

Learn to Program by Chris Pine - You can read this in an afternoon to get a feel for the Ruby language. The Well Grounded Rubyist by David Black - Like the title says it will give you an excellent grounding in the language. Eloquent Ruby by Russ Olsen - This book is sublime, it reads like a novel. Ruby Best Practices by Gregory Brown - By this point you should be ready for the advanced level of this book. Rails for Zombies - Fun tutorial you can complete in an afternoon. Rails Tutorial by Michael Hartl - Fantastic (and free) tutorial and I have heard his accompanying screencasts are amazing. Agile Web Development with Rails by Sam Ruby - By the time you are finished this you are now a completely capable Rails person!

除了书本之外,最重要的是获得对你所做事情的反馈。要做到这一点,我建议花时间在irc.freenode.net #ruby和#rubyonrails。在stackoverflow上发布你正在做的事情或遇到的麻烦也是非常有用的,因为人们提供的评论、解释和不同的思考方式是非常宝贵的。

你也一定要看看Ruby Rogues播客,他们提供了宝贵的信息,评论员都是Ruby社区里非常受人尊敬的人。为了让你的观看和阅读乐趣(按此顺序),请前往瑞恩·贝茨的《Railscasts》和艾菲恩·贝德福德的《Asciicasts》。

最后,我建议在github上寻找不同的宝石,阅读代码,然后为它们做出贡献。你不必过于雄心勃勃,做大量的重新编码,尤其是在刚开始的时候。只要从一些小事情开始,比如编辑和使README文件更容易阅读。

我不使用IDE,但在Railsconf上我看到了Jetbrains的Rubymine演示,它看起来非常棒。

试试这本书http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

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

我的步骤是:

* Agile development with Rails (book)
* Railscasts - very useful, always learn something new.
* And of course the RoR API

请注意,rails世界充斥着大量令人沮丧的过时且不一致的文档和示例。它可能是发展最快、最流行的开发社区之一。当你学到一些东西的时候,它已经改变了。甚至书中所讨论的rails版本也不一致。通过博客记录!足够的说。

我目前在windows上做RoR。我的建议是尽量避开窗户。很多东西都不起作用,rails社区真的真的不关心你。迁移到Git真的把我搞得一团糟,因为它在windows上不能很好地工作。很多宝石会因此而失败(Heroku看起来像一个很酷的工具-对我来说太糟糕了,它不能处理window的Git设置)。卡皮斯特拉诺出局了。这种情况继续下去,令人恼火。

Plus, in the back of your mind, you always wonder when something doesn't work "Is it a rails/windows problem?" I am not sure this is solved by using linux because linux brings its own hassles like constantly having to upgrade all those different dependencies, etc...If that's the kind of thing you enjoy it might be an okay choice for you. Those days of enjoying system fiddling are behind me and I just want to get on with doing my work. I am planning on installing ubuntu on a home machine just so i can get familiar with things like capistrano so maybe my opinion will change.

我强烈建议,如果你打算做rails开发,你应该认真考虑购买一台Mac。如果你珍惜你的时间和理智,它几乎会立即得到回报。你花了10个小时调试windows/linux安装问题,这取决于你如何评估你的时间,你花的钱和Mac电脑的钱一样多。

与它所取代的东西相比,Rails是一种乐趣,但它也有点痛苦,因为它的支持者跳过了许多无聊但重要的东西,如文档、兼容性问题和社区建设。它比Django等其他框架强大得多,但有时我在看Django的文档和社区时,会像一个有狂野性感女友的男人看着他朋友平凡但理智稳定的妻子一样叹息。但是后来rails添加了一个特性,我惊叹道:“哦,太棒了!”

在我看来,Rails的截图比Peepcode的截图要好。RubyPlus也有截图,注意,它们有点粗糙。BuildingWebApps有一个免费的在线课程,课程进行到一半就开始截屏。