-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrails-tutorial.html
219 lines (209 loc) · 13.3 KB
/
rails-tutorial.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Rails Tutorials: Recommended Ruby on Rails Tutorials</title>
<link href="https://plus.google.com/u/0/b/117374718581973393536/117374718581973393536/posts/" rel="publisher" />
<link rel="stylesheet" href="/css/bootstrap.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="/css/screen.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="/css/gollum.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="/css/site.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="/css/syntax.css" type="text/css" charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.6.min.js" type="text/javascript"></script>
<script src="/javascript/jquery.text_selection-1.0.0.min.js" type="text/javascript"></script>
<script src="/javascript/jquery.previewable_comment_form.js" type="text/javascript"></script>
<script src="/javascript/jquery.tabs.js" type="text/javascript"></script>
<script src="/javascript/gollum.js" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-5109366-14']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a href="/" class="brand">RailsApps Project</a>
<ul class="pull-right nav">
<li><a href="http://blog.railsapps.org/" class="twitter">Blog</a></li>
<li><a href="http://twitter.com/rails_apps" class="twitter">Twitter</a></li>
<li><a href="https://plus.google.com/117374718581973393536" class="google">Google +</a></li>
<li><a href="https://github.com/RailsApps" class="github">GitHub Repository</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="page-header">
<h1>Rails Tutorials: Recommended Ruby on Rails Tutorials</h1>
</div>
<div class="content wikistyle gollum textile">
<h1>Rails Tutorials: Recommended Ruby on Rails Tutorials</h1>
<h4>by Daniel Kehoe</h4>
<p><em>Last updated 4 May 2012</em></p>
<p>Recommended Ruby on Rails tutorials for beginners learning Rails.</p>
<p>This is a guide for developers using the <a href="http://railsapps.github.com/">Rails example apps</a> from the <a href="https://github.com/RailsApps">Rails Apps</a> repository. Others may find it helpful as well.</p>
<p><a href="http://www.twitter.com/rails_apps"><img src="http://twitter-badges.s3.amazonaws.com/t_logo-a.png" title="Follow on Twitter" alt="Follow on Twitter"></a> Follow <a href="http://twitter.com/rails_apps">@rails_apps</a> on Twitter for updates and timely Rails tips.</p>
<h2>Which Rails Tutorial for You?</h2>
<p>Not all Rails tutorials are alike or suitable for everyone.</p>
<p>Ask yourself:</p>
<h4>What is My Learning Style?</h4>
<p>Do you prefer to read a book, watch a video, learn from interactive lessons online, or study an example application?</p>
<h4>What is My Skill Level?</h4>
<p>Do you already use a modern web application platform such as <span class="caps">PHP</span>, Java, or Microsoft .<span class="caps">NET</span>? Have you built static websites with <span class="caps">HTML</span> and <span class="caps">CSS</span>? Do you have a programmer’s text editor and a terminal application on your desktop? Do you need to learn to program?</p>
<h4>How Much Do You Need to Learn?</h4>
<p>Are you planning to launch a web startup? Do you intend to seek employment as a Rails developer or as a freelancer? Are you a hobbyist with a personal project to build? Are you a manager in an enterprise who will be hiring or outsourcing to skilled Rails developers?</p>
<h2>Michael Hartl’s “Ruby on Rails Tutorial”</h2>
<p>Michael Hartl’s <a href="http://ruby.railstutorial.org/">Ruby on Rails Tutorial: Learn Rails by Example</a> is the most comprehensive Rails tutorial available. It is the Rails tutorial that is most often recommended by experienced Rails developers. It is available as a book for free online and is available for purchase as a 500+ page <span class="caps">PDF</span> optimized for e-readers such as Kindle and iPad. The first edition was accompanied by a library of screencasts 15 hours in duration with one lesson for each chapter of the book. Purchasers of the second edition get access to the new screencasts as they’re produced, as well as the first edition in its entirety. The author keeps the book up-to-date, covering Rails 3.2 and Ruby 1.9, Twitter Bootstrap and the new asset pipeline, and testing with Capybara & RSpec in the second edition.</p>
<p>If you intend to work as a Rails developer, or you wish to build a Rails web application, you must read this book. No other introduction to Rails is as complete, as thorough, or as accessible to beginners.</p>
<p>Here’s the drawbacks. Working your way through the book can take weeks as a part-time project. If you try it as a full-time sprint, you’ll likely burn out before you are done. You’ll be studying as if you were in college and taking an intro-level course in sciences or engineering. You’ll build a complete and serviceable Rails application, learning the basics of each area of Rails development. However, when you are done, you may find it difficult to build your own Rails application from scratch, unless it is substantially similar to the example in the book.</p>
<p>Do you want to work as a Rails developer? Are you building an application for your personal use or a startup business? Get Hartl’s book and (depending on your learning style) supplement it with shorter tutorials, videos, interactive lessons, or example applications. Find ways to sample Rails development in smaller doses and compare the approaches for better comprehension.</p>
<p>If you’re a manager who wants to understand the work that Rails developers do, try a few introductory chapters and skim the rest of the book. You’ll have a good basis for communicating with your team.</p>
<p>If you’re just beginning to learn programming, this book will lead you step-by-step but it may be overwhelming and frustrating. Start with easier lessons first, such as interactive lessons online, or even better, live lessons with a mentor.</p>
<h2>Summary</h2>
<p>Here is a summary of recommended Ruby on Rails tutorials.</p>
<table>
<tr>
<th>Learning Ruby </th>
<th></th>
<th>Authors </th>
</tr>
<tr>
<td> <a href="http://rubymonk.com/">RubyMonk</a> </td>
<td> free browser-based interactive tutorial </td>
<td> C42 Engineering </td>
</tr>
</table><table>
<tr>
<th>Learning Rails </th>
<th></th>
<th>Authors </th>
</tr>
<tr>
<td> <a href="http://ruby.railstutorial.org/ruby-on-rails-tutorial-book?version=3.2">Ruby on Rails Tutorial</a> </td>
<td> book covers Rails 3.2, available for free online </td>
<td> Michael Hartl </td>
</tr>
<tr>
<td> <a href="http://railsforzombies.org">Rails for Zombies</a> </td>
<td> free tutorial with in-browser coding </td>
<td> Code School </td>
</tr>
<tr>
<td> <a href="http://www.manning.com/katz/">Rails 3 In Action</a> </td>
<td> book covers Rails 3.1 </td>
<td> Yehuda Katz and Ryan Bigg </td>
</tr>
<tr>
<td> <a href="http://pragprog.com/book/rails4/agile-web-development-with-rails" title="4th edition">Agile Web Development with Rails</a> </td>
<td> ebook covers Rails 3.2 </td>
<td> Sam Ruby, Dave Thomas, and David Heinemeier Hansson </td>
</tr>
</table><table>
<tr>
<th>Learning <span class="caps">BDD</span> & <span class="caps">TDD</span> </th>
<th></th>
<th>Authors </th>
</tr>
<tr>
<td> <a href="http://www.pragprog.com/titles/achbd/the-rspec-book">The RSpec Book</a> </td>
<td> covers RSpec and Cucumber </td>
<td> David Chelimsky and others </td>
</tr>
<tr>
<td> <a href="http://pragprog.com/book/hwcuc/the-cucumber-book">The Cucumber Book</a> </td>
<td> covers Cucumber </td>
<td> Matt Wynne and Aslak Hellesøy </td>
</tr>
<tr>
<td> <a href="http://cuke4ninja.com/">The Secret Ninja Cucumber Scrolls</a> </td>
<td> free introduction to Cucumber </td>
<td> David de Florinier and Gojko Adzic </td>
</tr>
</table><table>
<tr>
<th>Tutorials with Example Apps </th>
<th></th>
<th></th>
<th></th>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-devise-rspec-cucumber.html">Rails 3.2 Tutorial: Devise, RSpec, Cucumber</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-devise-rspec-cucumber">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> Devise for authentication with ActiveRecord and SQLite for a database</td>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-bootstrap-devise-cancan.html">Rails 3.2 Tutorial: Twitter Bootstrap, Devise, CanCan</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-bootstrap-devise-cancan">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> Devise for authentication, CanCan for authorization, Twitter Bootstrap for <span class="caps">CSS</span> </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-prelaunch-signup.html">Rails 3.2 Tutorial: Startup Prelaunch Signup</a> </td>
<td> <a href="https://github.com/RailsApps/rails-prelaunch-signup">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> For a startup prelaunch signup site </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-mongoid-devise.html">Rails 3.2 Tutorial: Devise, Mongoid</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-mongoid-devise">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> Devise for authentication with a MongoDB datastore </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-mongoid-omniauth.html">Rails 3.2 Tutorial: OmniAuth, Mongoid</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-mongoid-omniauth">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> OmniAuth for authentication with a MongoDB datastore </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.com/tutorial-rails-subdomains.html">Rails 3.2 Tutorial: Subdomains, Devise, Mongoid</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-subdomains">Example App</a> </td>
<td> <a href="https://github.com/RailsApps/rails3-application-templates">App Template</a> </td>
<td> Basecamp-style subdomains with Devise and MongoDB </td>
</tr>
</table><p>Want more? See an expanded list of <a href="http://railsapps.github.com/rails-examples-tutorials.html">Rails Examples, Tutorials, and Starter Apps</a>.</p>
</div><!-- class="content" -->
<div class="comments">
<div class="content wikistyle gollum">
<h2>Comments</h2>
</div>
<p>Is this helpful? Please "like" below. Question or suggestion? Please add a comment below. Got a correction or addition? You can edit this page <a href="https://github.com/RailsApps/railsapps.github.com/wiki/_pages">on the wiki</a> or create a <a href="https://github.com/RailsApps/railsapps.github.com/issues">GitHub issue</a> to alert me.</p>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'railsapps'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</div><!-- class="comments" -->
<div class="footer row">
<div class="span4">
<h3>Credits</h3>
<p><a href="http://danielkehoe.com/">Daniel Kehoe</a> initiated the <a href="http://railsapps.github.com/">RailsApps Project</a>. Thanks to <a href="http://tigrish.com/">Christopher Dell</a> for design contributions.</p>
</div>
<div class="span4">
<h3>Contributions</h3>
<p>Corrections? Additions? You can edit this page <a href="https://github.com/RailsApps/railsapps.github.com/wiki/_pages">on the wiki</a>.</p>
</div>
<div class="span4">
<h3>Last edit</h3>
<p>by <b>Daniel Kehoe</b>, 2012-05-19 20:21:06</p>
</div>
</div>
</div>
</body>
</html>