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

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

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

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


当前回答

《敏捷开发与Rails》一书是最好的教学工具。它有一个很好的类似于生活的应用程序,它通过章节向你介绍不同的概念。我使用了两次示例,之后我有了足够的知识来做自己的事情,并依赖于rails API文档(http://api.rubyonrails.org/)。

其他回答

我的步骤是:

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

哦,我差点忘了。下面是更多的Ruby截屏资源:

SD Ruby——他们在网上有很多视频——我发现他们的Rest演讲SD9和SD10是最好的介绍之一。其他休息演讲假设你无所不知。这些都是非常介绍性和切题的。

Obie Fernandez谈InfoQ - Restful Rails。我也读过他的《Rails Way》一书,发现它内容丰富,但冗长而曲折,质量也有点不稳定。我从这本书中学到了很多东西,但我觉得为了读到好的部分而阅读重复的和不相关的东西有点惩罚人。

Netbeans是一个很好的手把手IDE,如果你有耐心等待它的工具提示,它可以教你很多语言技巧(即使在非常快的机器上,它也是一个非常慢的IDE),你可以使用IDE以图形化的方式浏览可用的生成器和类似的东西。获得最新的版本,甚至还内置了Rspec测试。

波特是一个预先构建的基础应用程序,其中已经插入了许多标准插件。如果你下载并试用它,弄清楚它是如何设置的,你就已经在创建自己的全功能应用程序的半路上了。

我买了Patrick Lenz写的《Simply Rails 2》。 这本书是对Ruby和Ruby on Rails的很好的介绍。 至于我的ruby安装和db,我使用Cygwin。 它与PostgreSQL, ruby和svn一起提供。 我喜欢PostgreSQL,因为我来自Oracle 所以它感觉比MySQL更舒服。

我发现另一个非常有用的实用程序是pgAdmin 访问PostgreSQL数据库。

我需要做的第一件事就是安装宝石。 我从鲁比弗吉拿了宝石tar文件 wget“http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz”

设置好宝石后,我就开始安装

rails ruby-postgres postgres 架

我还需要一个问题跟踪系统,所以我安装了redmine。 wget“http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz”

我发现使用类unix环境(Cygwin)是很困难的 对我来说更可取,因为许多教程都是这样 泰勒为OS X或Linux。

我使用的文本编辑器是Textpad。我正在寻找替代方案。 我认为带有rails插件的vim可能工作得很好。

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的最佳方法

(它现在实际上在官方Ruby on Rails IRC聊天室中与!learn factoid helper一起返回。)