就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
当前回答
我写了一篇名为“Rails入门——我希望知道的事情”的文章,许多人认为这篇文章很有帮助。
基础知识:
使用Rails进行敏捷开发(书籍) 用于Windows上快速ruby/rails环境的InstantRails Aptana作为IDE 用于版本控制的Subversion
在线教程很不错,但很分散。为了更全面的理解,你可以花30美元买一本书。
其他回答
请注意,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有一个免费的在线课程,课程进行到一半就开始截屏。
我认为来自Peepcode的截屏和短书真的很好。他们有一些截图让你开始学习,当你更深入的时候也会有一些。
要学习Ruby,请阅读David Black的《The Well-Grounded Rubyist》。它非常清晰,文笔优美,组织有序。这是我读过的最好的技术书籍(大概十几本,因为我是一个相对较新的程序员)。
要学习Rails,请阅读“Head First Rails”。它们解释了所有神秘的部分是如何协同工作的。对这些愚蠢之处要有耐心,并按照自己的方式完成这些例子——它会有回报的。(此外,为了一致性,使用他们使用的任何版本的Rails。您可以稍后升级。)
这两本书都假设你对OOP编程和MVC架构几乎一无所知。如果你确实知道一点,不要略读,因为你可能会错误地假设事情。(例如,Ruby对象没有公共属性,只有getter和setter。但是你可以用一行自动创建多个getter /setter,比如attr_accessor:attr1,:attr2,:attr3。)
这里有很多好意见。我要加上这里没有的。我的经验:
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控制台”)检查数据,并在将代码片段嵌入模型或控制器之前试用它们。
我在Neighborly先生的《谦逊的红宝石小书》的帮助下学会了Ruby。这是一个很好的免费下载的Ruby介绍,有很多例子,我100%推荐。