就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
当前回答
这里有很多好意见。我要加上这里没有的。我的经验:
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控制台”)检查数据,并在将代码片段嵌入模型或控制器之前试用它们。
其他回答
要学习Ruby,请阅读David Black的《The Well-Grounded Rubyist》。它非常清晰,文笔优美,组织有序。这是我读过的最好的技术书籍(大概十几本,因为我是一个相对较新的程序员)。
要学习Rails,请阅读“Head First Rails”。它们解释了所有神秘的部分是如何协同工作的。对这些愚蠢之处要有耐心,并按照自己的方式完成这些例子——它会有回报的。(此外,为了一致性,使用他们使用的任何版本的Rails。您可以稍后升级。)
这两本书都假设你对OOP编程和MVC架构几乎一无所知。如果你确实知道一点,不要略读,因为你可能会错误地假设事情。(例如,Ruby对象没有公共属性,只有getter和setter。但是你可以用一行自动创建多个getter /setter,比如attr_accessor:attr1,:attr2,:attr3。)
我从Java到Ruby再到。我发现这个教程很有用http://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-java/。当谈到学习rails时,我不能说我使用了多少脚本\控制台。它允许您摆弄代码并学习如何做您不确定的事情。
我买过的唯一一本书是《使用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,我不认为操作系统的选择会影响你的编程。
我在我的IDE中使用netbeans,偶尔也使用vim(带有rails插件)。我喜欢netbeans,但是当涉及到Rails支持时,我发现它仍然有点不靠谱(不是所有的特性都能一直工作)。
http://railsforzombies.org/是一个不错的网站。介绍了一种在浏览器中学习Ruby on Rails的全新方法,无需额外配置。
这里有一些很棒的建议!
我将列出的一些资源已经被提到,一些我认为没有。我肯定还不是一个专业选手,我只是在过去的几个月里一直在学习,我的进步速度很快。这是帮助我的顺序:
Why's poignant guide to ruby: excellent introduction to the Ruby language by the infamous _why. Agile web development with rails book: great book with some good in-depth follow alongs Rails tutorial by Michael Hartl (railstutotrial.org): this has been my favorite resource. Hartl's style of walking you through demo apps and explaining everything just made things click for me. Rails for Zombies - ran through this twice, great for reinforcing the basics. Railscasts - I started following this along at first, but they were not helpful until now that I am just really starting to grasp Rails. I would leave these for the end after you have got your feet wet. Think Vitamin's rails tutorials were also pretty good. I followed along these screen casts at first, to feel out the language and then did them again towards the end. The "Learning Rails" podcast, although outdated (Rails 2) was also a good starting resource. I listened to this while driving/working out.
我希望这对你有帮助!我远不是专业人士,但我一头扎进去,尽可能多地从各种资源中汲取。我上面提到的方法是最有帮助的!
哦,现在真正对我有帮助的是制定个人项目和设置特定的任务。跟着做很好,但是当你在没有向导的情况下潜入时,你才能真正学到东西!
我认为来自Peepcode的截屏和短书真的很好。他们有一些截图让你开始学习,当你更深入的时候也会有一些。