学习Ruby on Rails


241

就目前而言,我是Java和C#开发人员。我对Ruby on Rails的了解越来越多,我真正想要学习的更多。

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

是否有一个可以与Visual Studio的强大功能匹敌的IDE?有什么开发的程序可以提供很好的操作开销?有什么好书吗?

认真地说,任何技巧/窍门/杂音都很棒。


@moala:+1哈哈。是的,认真!Xcode和TextMate绝对无法击败“视觉工作室的强大功能”
Jasdeep Singh 2011年

对于IDE,Aptana非常适合带有Git支持的Windows(适用于Windows)。但是,这会让您头疼不已,因为Rails社区不太关心Window,并且它往往需要大量的解决方法或对Gems的黑客攻击。我只想说走PHP路线...可以运行在所有内容上,更稳定,更灵活,并且在升级系统时不费吹灰之力。
Travis Pessetto 2011年

对于现在来到这里的其他人,我就像OP,一个C#/ asp.net-mvc开发人员,尝试使用ruby。尝试在ubuntu中工作真的很困难,所以我在Windows上安装了所有程序。到目前为止,有些人告诉我这可能是一个问题,但是今天我从Windows上在heroku.com上推送了一个简单的应用程序,没有问题。对于IDE,我相信一个好的IDE确实可以帮助您学习框架。 RubyMine与Visual Studio相比,您可以使用预定义的VS快捷方式对其进行设置,然后可以单击F12并检查和学习ROR框架。=)
gideon 2011年

Answers:


205

我从职业生涯的C#转向个人生活中的Ruby和RoR,我发现linux对开发个人更具吸引力。特别是现在我开始使用git,在Linux上实现更干净。

目前,我正在双重引导,并且越来越接近于全天候运行Ubuntu。我在开发环境中使用带有各种插件的gedit。从2010年底开始,我一直在推动使用Vim进行开发,甚至是通过OS X上的Textmate。

大量的Rails开发人员正在使用(gasp)Mac,这实际上使我思考了这个方向。

尽管我还没有尝试过,但是Ruby in Steel在Visual Studio世界中为您提供了Ruby IDE ,如果您感兴趣的话,IronRuby是Ruby的.NET风格。

就书籍而言,Pragmatic Programmers 的《Programming Ruby》(也称为Pickaxe)一书是学习Ruby的事实。我硬着头皮买了那本书和Rails的敏捷Web开发 ; 这两本书都很出色。

Peepcode屏幕广播和PDF书籍也非常适合入门。每个截屏影片的价格为9美元,很难出错。我实际上买了5包。

还请检查以下内容:

在过去的一个月中,我已经解决了积压的Rails和Rails Envy播客,他们提供了许多主题的精彩见解,甚至涉及到一般的软件开发。


45
我曾经将所有高端硬件保存为Windows,而在较低规格的硬件上运行Ubuntu Linux。一段时间后,我不再浪费Windows上的优质硬件。
Rimian

4
我在Ruby开发中使用过PC,各种版本的Unix和Mac,并在我的个人计算机上使用了Mac。我喜欢Ubuntu,并认为它是一个出色的OS和开发平台,但Mac的蛋糕上却有一点锦上添花,我的音乐和摄影可以利用它。因此,我的建议是Ubuntu,Ubuntu Mint或Mac OS。
Tin Man 2010年

我在顶部添加了Rails指南,因为这是入门的最佳位置,并保证始终保持最新状态。我将软体和Rails播客移至底部,因为它们已损坏或未激活。
gtd

即使您在VM中运行,对Linux的呼喊+1也是如此。从我的经验来看,对于Rails而言,Ubuntu非常差,除非您能从源代码编译Ruby。Vim很棒。Mac上的Textmate很不错,但是一旦进入Vim,就不会再回头了。
亚当·霍斯,

125

当心,Rails世界是一堆令人沮丧的,过时且不一致的文档和示例。它可能是发展最快,最时尚的发展社区之一。到您学到一些东西时,它已经变了。甚至书籍也不在讨论他们所使用的Rails版本。通过博客文档!说够了。

我目前在Windows上执行RoR。我的建议是尽可能避免使用窗户。许多事情不起作用,并且Rails社区确实真的不在乎您。迁移到Git确实使我感到困惑,因为它在Windows上无法很好地运行。因此很多宝石都会失败(Heroku看起来很酷,对我来说太糟糕了,它无法处理window的Git设置)。Capistrano出局了。它继续并且令人讨厌。

另外,在您的脑海中,您总是想知道什么时候不起作用“这是导轨/窗户问题吗?” 我不确定这是通过使用linux解决的,因为linux带来了自己的麻烦,例如不断地必须升级所有这些不同的依赖项,等等。。。那些喜欢系统摆弄的日子已经过去,我只想继续工作。我计划在家用计算机上安装ubuntu只是为了让我熟悉capistrano之类的东西,所以也许我的看法会改变。

如果您打算认真考虑购买Mac,那么我强烈建议您在任何时间进行Rails开发。如果您珍惜时间和理智,它几乎会立即收回成本。根据您如何珍惜时间,您需要花费10个小时来调试Windows / Linux安装问题,但无论如何,您所花费的费用与Mac一样多。

与替换它相比,Rails是一种乐趣,但是它的支持者却跳过了很多无聊但重要的内容,例如文档,兼容性问题和社区建设,这令人有些痛苦。它比Django之类的其他框架功能更强大,但是我有时会查看Django文档和社区,像一个狂野而性感的女朋友看着他朋友朴素却又稳重的妻子那样叹息。但是,然后Rails添加了一个功能,然后我说“哦,闪闪发光!”

IMO的Rails截屏视频比Peepcode截屏视频更好。请注意,RubyPlus还提供了一些截屏视频,它们的边缘有些粗糙。BuildingWebApps拥有一个免费的在线课程,该课程从中途开始进行截屏。


29
在Ubuntu / Linux上,这对我来说非常顺利。依赖项自动安装(宝石和通过apt-get。)
Zach

4
这本书带导轨的敏捷开发确实确实与RoR,恕我直言保持同步
Tilendor'Oct

3
我目前正在学习Rails,第一步是设置一个Linux VM用作我的开发/测试服务器,这样我就不必弄乱我正在运行的Vista主机OS。如果您有兴趣建立一个Linux开发VM钢轨随意按照我的指导:sharingatwork.com/2009/10/...
丹尼尔J.普里切特

1
现在3月10日,在Windows上进行开发对我来说还可以。
irl_irl'3

4
@srboisvert,“享受系统摆弄的那些日子已经过去,我只想继续工作。” 哦,真是兄弟!阿们!
Tin Man 2010年

96

阻力最小的路径:

  • 请记住一个简单的Web项目。
  • 访问rubyonrails.org并观看他们的“ 15分钟内的博客”截屏,以获取兴奋。
  • 获取O'Reilly Media的Learning Ruby的副本
  • 获取Mac或Linux盒子。
    (由于Rails通常是在这些基础上开发的,因此对Rails的早期挫折减少了。)
  • 获取使用Rails进行敏捷Web开发的副本。
  • 获取该书中描述的Ruby和Rails的版本。
  • 通读该书的第一部分,以了解它的样子。
  • 请访问railscasts.com并查看最早的视频,以进行更仔细的查看。
  • 购买Obie Fernandez 的Rails Way,可以更深入地了解Rails及其功能。
  • 然后升级到最新的Rails生产版本,并查看最新的railscasts.com视频。

并添加使用RVM来帮助减少摩擦。
Tin Man 2010年

24

我写了一篇名为“ Rails入门-我希望我知道的东西”的帖子,很多人都觉得有帮助。

基础:

  • 使用Rails进行敏捷开发(书)
  • InstantRails用于Windows上的快速红宝石/轨道环境
  • Aptana作为IDE
  • Subversion用于版本控制

在线教程不错,但分散。在书上投资30美元,以获得更全面的理解。


看来上一次InstantRails更新是在2007-12-28上。rubyforge.org/projects/instantrails
sdfx

不要使用Windows只需将ubuntu用作双启动。不到一个小时。对于Aptana-我来自那2个netbeans 2 ruby​​Mine。节省时间。颠覆???不,使用git。如果您的ork现在使用svn,则至少是git-svn。
Michael Durrant


14

我真的很喜欢Jetbrains的RubyMine。似乎是功能非常强大的IDE,我从那里的许多其他替代品中错过了一些东西。同样对于一个简单的环境,我喜欢使用文本编辑器。干净利落。


2
RubyMine 3绝对很棒,特别是如果您来自C#。RubyMine由制造ReSharper的同一家公司生产。
开球时间

13
IDE:NetBeans
书籍:带有Rails 
安装的敏捷Web开发Instant Rails

NetBeans是一个很棒的全能IDE,但是它运行缓慢并且在Mac上崩溃很多。我宁愿推荐TextMate(虽然不是免费的)
khairul

5
使用导轨时,我不会使用IDE-使用VIM,Textmate或Emacs
Scott Schulthess 2010年

没有IDE?谁说的?我使用了各种IDE,其中大多数都为表带来了非常有用的功能。所有这些试图说您应该和一些普通的旧编辑一起努力的人都需要对此有所保留。
MattSlay

2
NetBeans不再支持ruby:netbeans.org/community/news/show/1507.html
T恤

12
  1. Ruby Bruno R. Preiss中具有面向对象设计模式的数据结构和算法 2004年出版

  2. 学习编程 Chris Pine | 实用书架2006年出版,共176页

  3. 邻居先生的谦虚小红宝石书 Jeremy McAnally | 2006年出版147页

  4. Ruby编程:实用程序员指南 David Thomas,Andrew Hunt | Ruby Addison-Wesley 2000年出版,共608页

  5. 坚果 壳中的滑轨 C. Fauser,J。MacAulay,E。Ocampo-Gooding,J。Guenin | O'Reilly Media 2009年出版,共352页

  6. Ruby最佳实践 Gregory T. Brown | O'Reilly Media 2009年出版,共328页

  7. Ruby基础知识 | Techotopia于2007年发布

  8. Ruby on Rails安全性 Heiko Webers | OWASP于2009年出版,共48页

  9. Ruby用户指南 Mark Slagell | 2005年出版

  10. Ruby Huw Collingbourne | 2009年出版,425页

  11. Ruby Huw Collingbourne小书 | Dark Neon Ltd. 2008年出版,共87页

  12. 为什么对Ruby的(凄美的)指南 为什么幸运的僵硬?2008年出版


很棒的清单!这篇文章讨论了其他一些不错的Rails书籍,例如The Rails 3 Way,Crafting Rails Applications等:blog.ashchan.com/archive/2011/08/21/learn-ruby-on-rails
James Chen




7

很棒的决定!在进入Rails之前先扎根Ruby非常有用,因此,这是我通往Rails的最佳途径:

除书籍外,最重要的是要获得关于您所做工作的反馈。为此,我建议您花时间在irc.freenode.net #ruby和#rubyonrails中。在这里将您正在处理或遇到问题的事情张贴在stackoverflow上也非常有帮助,因为注释,解释和对人们提供的事情的不同思考方式都是无价的。

您也绝对应该查看Ruby Rogues播客,它们提供了宝贵的信息,评论员都是Ruby社区中非常受人尊敬的人。为了您的观看和阅读乐趣(按此顺序),先看Ryan Bates的Railscasts,然后看Eifion Bedford的Asciicasts。

最后,我建议在github上研究不同的gem,阅读代码,然后为它们做贡献。您不必过于野心勃勃地进行大量的编码,尤其是在一开始的时候。只需从编辑和使README文件更易于阅读之类的小事情开始。

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


6

0)首先学习红宝石。这个非常重要。Rails的一个巨大优势是Ruby:这是一种强大的语言,功能强大,但也易于误解。在线浏览一些Ruby教程。当Daily WTF遇到编码挑战时,请用Ruby编写。您会很快将它捡起来。

1)去买书《 Ruby for Rails》

2)查看Rails教程并订阅Ride Rails博客。

3)在本地站一个应用程序。不要使用脚手架。

4)将插件安装到应用程序中时,请查看该插件中的代码(在供应商目录中)并学习它。这是学习Ruby和Rails内部知识的最佳方法之一。如果您不了解某件事情的工作原理,请在此处发布,一千个人会为您提供帮助。

至于您的其他问题:

是的,你需要一个Linux环境下发展,你可以在Windows上开发Rails,但这并不意味着应该这样做。在Windows上,许多宝石并没有达到最高速度。

NetBeans可以很好地用作IDE。如果您使用的是Mac,则将获得使用Textmate的信誉。


这并不适合所有人。请记住,一顶帽子并不适合所有人。首先学习红宝石是个不错的主意,但是有一个原因是红宝石语言直到有轨电车问世才出现。许多开发人员希望立即在Web上立即使用具有最终结果的顶级功能,这在今天是合理的。很多红宝石对人们根本没有任何意义。几页后,您实际上可以入睡。但是,有了一个练习Web应用程序来“尝试”操作,事情就会开始变得有意义-因为存在上下文。
迈克尔·杜兰特

5

找到附近的Ruby用户组并开始参加。我发现这是结识许多对发展充满热情并愿意教书的人的好方法。


5

令我惊讶的是,几乎没有提到“为什么(Ruby的)(令人发指)”指南。为什么可能不再存在,但可以在网上轻松找到该指南(Google首先在此处指出),它非常易于阅读,并提供了我对Ruby的介绍。

读完指南后,我建议您推荐其中一本,或者按照Learning Rails上的一系列截屏视频进行推荐,这就是我如何挑选足够多的Ruby on Rails来避免危险的方法。完成Learning Rails系列后。您想对Rails进行的操作将与一般教程有所不同,而Railscasts正是其中的绝佳工具。Rails在某些时候还没有涉及到很多事情。


确实如此,但我发现在不了解Ruby语法的情况下很难理解Rails的情况。我对答案做了一些更改,以更好地反映流程。
nuclearsandwich

4

我的第一个建议是先学习一些有关符号的知识。Rails并不是有史以来最小的框架,尽管肯定有很多东西要学习,但是如果您至少了解一点点使其与其他语言有所不同(“特殊”),那么大多数框架就会变得有意义。正如所指出的那样,在任何主要语言中都没有确切的类比,但是Rails大量使用它们,以使内容直接阅读并表现良好,这就是我提出它的原因。我的第一个接触到Rails的也是我第一次看的Ruby(以及前2.0),并吸引我眼球的是高飞的第一件事:things,他们身边掠过,我问:“跆拳道是?”

另外,请查看RubyQuiz,并在该站点上阅读其他人的答案。


3

我是从Java背景到Ruby来的。我发现本教程对http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-java/有帮助。说到学习Rails,我不能说我使用了多少script \ console。它使您可以使用代码并学习如何执行不确定的事情。

我唯一买过的书是《带有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外,我认为操作系统的选择不会影响您的编程。

我将Netbeans用于我的IDE,偶尔使用vim(带有rails插件)。我喜欢netbeans,但是我发现它在Rails支持方面仍然有些不稳定(并非所有功能始终都起作用)。


敏捷Web开发的第四版现已发布:pragprog.com/book/rails4/agile-web-development-with-rails
肖恩


3

我曾经在Windoze上做过Java和C#。

我将引用以下来源:

IDE:尝试Apatana RadRails 3速览:http://www.radrails.org/3。这是您最接近Visual Studio的东西。我在这里和那里玩,但仍然喜欢Textmate的轻巧。

操作系统:Mac OS从R​​uby社区获得最大甚至全部的好评。其他任何事物都被当作混蛋。

书籍

  • 实用程序员指南(镐书)
  • 使用Rails进行敏捷Web开发

截屏视频


2

任何Rails的ubber来源都是http://www.rubyonrails.org/,如果他们在网站上没有它,您可能就不需要它。

快速指南是Ruby on Rails:启动和运行,您可以从O'Rielly获取它,或在Google上搜索在线版本。他们会按照Rails的约定引导您,并使用Instant Rails没关系。

一本更好的Rails书“使用Rails进行敏捷Web开发”,这是Rails的精华。它可以引导您下载并设置Rails,Gems和所有内容。

如果您想成为Java的“老兄”并且想要一本过渡书,那么O'Reilly会为Java开发人员准备“ Rails for Java Developers” http://oreilly.com/catalog/9780977616695/?CMP=AFC-ak_book&ATT=Rails+for+Java+Developers



2

哦,我差点忘了。这里还有一些Ruby截屏资源:

SD Ruby-在线上有很多视频-我发现他们的Rest谈话SD9和SD10属于最好的介绍。其他的闲谈都假定您知道一切。这些都是非常入门的内容。

InfoQ上的Obie Fernandez -Restful Rails。我还阅读了他的《 Rails Way》一书,发现该书翔实,但确实曲折而曲折,而且质量有点不一致。我从这本书中学到了很多东西,但觉得必须仔细阅读重复的内容和无关紧要的内容才能读懂那些好东西,这是一种惩罚。

Netbeans是一个不错的手持IDE,如果您有耐心等待它的工具提示(即使在非常快的计算机上,它也是一个非常慢的IDE),并且可以使用它以图形方式浏览,它可以教给您很多语言技巧。可用的发电机之类的东西。获取最新版本,甚至可以内置Rspec测试。

Bort是一个预先构建的基本应用程序,已经插入了许多标准插件。如果您下载并使用它,并弄清楚它的设置方式,那么您就快要创建自己的全功能应用程序了。


2

我买了Patrick Lenz的书“ Simply Rails 2”。
本书是对Ruby和Ruby on Rails的出色介绍。
至于我的ruby安装和数据库,我使用了Cygwin。
它带有PostgreSQL,ruby和svn。
我喜欢PostgreSQL,因为我来自Oracle
背景,因此比MySQL更舒适。

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

我要做的第一件事是安装gems。
我从rubyforge
wget 那里得到了tar文件。 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可能效果很好。


2

我来自非编程背景。我自己学习过PHP,最近加入了一家专门研究Ruby on Rails的公司。他们有一个全面的Rails培训计划,该计划足够灵活以适应我们想要实施的任何更改。尽管我不是Rails专业人士,但我想分享我在Rails方面的经验。希望对您有所帮助。

这是我要遵循的路径[与我正在使用的工具结合]

  • 从简单的红宝石指南开始。因为整个Rails框架围绕类和对象旋转,所以这将有很大帮助。
  • 环境和操作系统并不重要。尽管我在Mac上工作,但是我经常在Linux和Windows上工作,并且我没有遇到任何问题。
  • 从一本好书开始,其中介绍了演示应用程序。[我正在使用带有Rails的敏捷Web开发-实用书架]。还有许多其他好书。
  • 完成应用程序后,您将对框架有一个很好的了解。
    • 尝试了解Active Record模块生成的SQL查询。
    • 浏览Rails指南。您会发现该框架要容易得多。
  • 保持练习。

一点曝光点

  • 完全学习一种语言需要花费数年时间。所以要有耐心,不要停止学习。
  • 根据需要通过rails api。[在开发您的第一个应用程序时]
  • 谷歌你不懂的东西。人们撰写了几乎所有主题的出色文章。
  • 使用Stackoverflow :-) [仅当您无法自行找到解决方案时。]
  • 在您的手机或视频播放器上加载railscasts。在旅途中或空闲时间看他们。他们每个人几分钟。您将学到很多东西,也学到最好的做事方式。

工具类

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

最后,我有一句话说“继续尝试”。祝一切顺利。


2

对编程是学习任何事物的最快方法,包括Ruby on Rails

找到认识Rails的人,选择一个示例应用程序,坐下来,解决错误,添加功能。

知识共享令人难以置信。


2

我的建议只是开始-选择一个通常用于学习MVC风格语言的小项目(即带有数据库的东西,也许是一些基本的工作流程),然后在需要学习概念时使用一个(或两者的

使用Rails 或Rails Way进行敏捷Web开发

了解其工作原理,然后尝试。

敏捷Web开发的问题在于它已经过时,并且该方案的运行时间太长了,以至于您真的不想一次构建它。从参考到学习的不断发展,Rails Way可能很难遵循,但是当它很好时,它比敏捷Web开发要好。

但是总的来说,它们都是好书,而且都对学习有好处,但是它们都不提供您要遵循的“教育”道路。因此,我读了前几章(足以了解基本概念并学习如何引导第一个应用程序-也有一些在线文章对此有所帮助),然后才开始使用,每隔几天我都会阅读关于新事物,或者我用书本来了解一些事物。

还有一件事:这两本书比Rails书籍多于Rails书籍,如果您要编写简洁的代码,则值得花一天的时间尽早学习Ruby语法。为什么《 Ruby指南》是一个不错的指南,还有其他指南。


1

我认为Peepcode的截屏视频和短书确实很棒。他们提供了一些截屏视频,以帮助您入门,同时还有一些截屏视频,它们可以使您变得更高级。


1

有一个名为Softies on Rails的站点,该站点由几个可能有用的前.NET开发人员编写。他们将在未来几个月内出版一本名为《面向.NET开发人员的Rails》的书。

我从Windows盒子开始使用Eclipse 的RadRails插件和Dreamweaver 的RubyWeaver扩展(在Rails的1.x时代开始)。从那以后,我搬到了运行TextMate的Mac上,再也没有想过要回头。

至于书籍,我从The Ruby Way和带有Rails的敏捷Web开发开始。当您开始涉足Rails开发时,它绝对有助于在Ruby中建立背景。

一定要看Ryan Bates的Railscast系列。


1

我发现Obie Fernandez撰写的“ The Rails Way”非常好,当使用Rails进行敏捷Web开发似乎还远远不够时,我经常会提到它。Obie Fernandez也有一个不错的博客


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.