就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
就目前而言,我是一名Java和c#开发人员。我对Ruby on Rails看得越多,我就越想学习它。
你发现学习RoR的最佳途径是什么?在Windows上开发会更容易吗,还是应该在Linux上运行虚拟机?
是否有一种IDE可以与Visual Studio的健壮性相匹配?有什么程序可以给我们一个很好的开销吗?有什么好书吗?
说真的,任何建议/技巧/咆哮都很棒。
当前回答
我认为来自Peepcode的截屏和短书真的很好。他们有一些截图让你开始学习,当你更深入的时候也会有一些。
其他回答
这里有很多好意见。我要加上这里没有的。我的经验:
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控制台”)检查数据,并在将代码片段嵌入模型或控制器之前试用它们。
http://www.teachmetocode.com是学习Ruby和Ruby on Rails的绝佳来源。这里有一些介绍Rails基础知识的屏幕视频,还有一个由6部分组成的系列,介绍如何使用Ruby on Rails创建Twitter克隆版。
IDE: NetBeans Book: Agile Web Development With Rails Installation: Instant Rails
《敏捷开发与Rails》一书是最好的教学工具。它有一个很好的类似于生活的应用程序,它通过章节向你介绍不同的概念。我使用了两次示例,之后我有了足够的知识来做自己的事情,并依赖于rails API文档(http://api.rubyonrails.org/)。
只有+1敏捷Web开发与Rails(尽管确保您获得最新版本)- http://pragprog.com/
我在Mac上开发,这有时是有益的——它是Rails开发人员非常流行的平台,所以你看到的许多博客文章都是面向Mac的。不过Linux也很棒;)
最后——我和公司一点关系都没有——当你有东西想要直播时,heroku是一个不错的选择。找到一个便宜的rails主机并不容易,所以这是一个很好的起点。不过,还有很多其他优秀的主持人!Heroku确实需要git来进行版本控制(尽管您可以在subversion之上使用它)。
祝你好运!