就目前而言,我是一名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.

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

其他回答

我的建议是开始——选择一个你通常用来学习mvc风格语言的小项目(例如,一些数据库,可能是一些基本的工作流),然后当你需要学习一个概念时,使用其中的一个(或两个!)

使用Rails进行敏捷Web开发 或 铁路之路

了解它是如何工作的,然后尝试一下。

敏捷Web开发的问题在于它已经过时了,并且场景运行的时间太长,以至于您真的不想只构建一次;Rails方式可能很难遵循,因为它是从参考到学习的跳跃,但如果它是好的,它比敏捷Web开发要好。

但总的来说,它们都是好书,都有利于学习,但它们都没有提供你想要遵循的“教育”路径。所以我读了前者的几章(足以获得基本概念并学习如何引导第一个应用程序——也有一些在线文章可以帮助这一点),然后就开始了,然后每隔几天我就会阅读一些新的东西,或者我用书来理解一些东西。

还有一点:这两本书都是Rails方面的书籍,而不是Ruby方面的书籍,如果您打算编写干净的代码,那么尽早花一天时间学习Ruby语法是值得的。Why's Guide to Ruby是一本很好的书,还有其他的。

我没有编程背景。我自学了PHP,最近加入了一家专门研究Ruby on Rails的公司。他们有一个全面的Rails培训计划,它足够灵活,可以适应我们想要实现的任何更改。虽然我不是rails专家,但我愿意分享我使用rails的经验。我希望这能有所帮助。

以下是我所遵循的路径(结合我所使用的工具)

Start with a simple ruby guide. It will help a lot, since entire rails framework revolves around classes and objects. Environment and OS are not important. Though I am working on a Mac, I frequently work on Linux and Windows, and I do not face any problems. Start with a good book which explains using a demo app. [I am using Agile Web Development with Rails - By The Pragmatic Bookshelf]. There are many other good books as well. Once you are done with the application, you will have a good idea of the framework. Try to understand the SQL queries generated by Active Record module. Go through the Rails Guides. You will find the framework a lot easier. Keep practicing.

几个关键点

It takes years to learn a language completely. So be patient and do not stop learning. Go through rails api as when required. [While developing your first app] Google the things which you do not understand. People have written great articles on almost all topics. Use Stackoverflow :-) [Only when you are not able to find the solution on your own.] Load railscasts on your phone or video player. Watch 'em while travelling or in your free time. They are of few minutes each. You will learn a great deal of things and also learn the best way of doing things.

工具

Shell[在Mac和Ubuntu中] 编辑器[Mac中的Textmate, Ubuntu中的Gedit和Windows中的notepad++] 安装了Firebug的Firefox进行测试。

最后我有一句话要说“继续努力”。愿一切都好!

毫无疑问

使用Rails进行敏捷Web开发

and

推荐手册

为了好玩

高级Rails食谱

我想链接到另外两个,但Stack Overflow不允许。查看同一网站。

我发现http://railstutorial.org/book是学习Rails的一个很好的资源

请注意,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有一个免费的在线课程,课程进行到一半就开始截屏。