-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathrails-tutorial.html
More file actions
263 lines (263 loc) · 18.2 KB
/
rails-tutorial.html
File metadata and controls
263 lines (263 loc) · 18.2 KB
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
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
<!DOCTYPE html>
<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Rails Tutorials · RailsApps</title>
<meta name="viewport" content="width=device-width">
<link href="https://plus.google.com/117374718581973393536" rel="publisher">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.2.2/css/normalize.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.2.2/css/foundation.min.css">
<link rel="stylesheet" href="http://railsapps.github.io/css/railsapps.css" />
<link rel="stylesheet" href="http://railsapps.github.io/css/syntax.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="http://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<script type="text/javascript">
window.analytics=window.analytics||[],window.analytics.methods=["identify","group","track","page","pageview","alias","ready","on","once","off","trackLink","trackForm","trackClick","trackSubmit"],window.analytics.factory=function(t){return function(){var a=Array.prototype.slice.call(arguments);return a.unshift(t),window.analytics.push(a),window.analytics}};for(var i=0;i<window.analytics.methods.length;i++){var key=window.analytics.methods[i];window.analytics[key]=window.analytics.factory(key)}window.analytics.load=function(t){if(!document.getElementById("analytics-js")){var a=document.createElement("script");a.type="text/javascript",a.id="analytics-js",a.async=!0,a.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.io/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(a,n)}},window.analytics.SNIPPET_VERSION="2.0.9",
window.analytics.load("l1stqfqqbf");
window.analytics.page();
window.analytics.ready(function () {
ga('require', 'linker');
ga('linker:autoLink', ['railscomposer.com','learn-rails.com','blog.railsapps.org','tutorials.railsapps.org']);
});
</script>
</head>
<body>
<div class="fixed">
<nav class="top-bar" data-topbar>
<ul class="title-area">
<li class="name">
<a href="http://railsapps.github.io/" class="brand">RailsApps Project</a>
</li>
<li class="toggle-topbar menu-icon"><a href="#"><span>Menu</span></a></li>
</ul>
<section class="top-bar-section">
<ul class="right">
<li><a href="https://tutorials.railsapps.org/" class="google">Tutorials</a></li>
<li><a href="http://twitter.com/rails_apps" class="twitter">Twitter</a></li>
<li><a href="http://blog.railsapps.org/" class="twitter">Blog</a></li>
<li><a href="https://github.com/RailsApps" class="github">GitHub Repository</a></li>
</ul>
</section>
</nav>
</div>
<div class="row">
<div class="large-12 columns">
<div class="content wikistyle gollum textile">
<h1>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.io/">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>
</tr>
<tr>
<td> <a href="http://railsapps.github.io/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> Devise for authentication with ActiveRecord and SQLite for a database</td>
</tr>
<tr>
<td> <a href="https://tutorials.railsapps.org/rails3-bootstrap-devise-cancan">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> Devise for authentication, CanCan for authorization, Twitter Bootstrap for <span class="caps">CSS</span> </td>
</tr>
<tr>
<td> <a href="https://tutorials.railsapps.org/rails-prelaunch-signup">Rails 3.2 Tutorial: Startup Prelaunch Signup</a> </td>
<td> <a href="https://github.com/RailsApps/rails-prelaunch-signup">Example App</a> </td>
<td> For a startup prelaunch signup site </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.io/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> Devise for authentication with a MongoDB datastore </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.io/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> OmniAuth for authentication with a MongoDB datastore </td>
</tr>
<tr>
<td> <a href="http://railsapps.github.io/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> Basecamp-style subdomains with Devise and MongoDB </td>
</tr>
</table>
<p>Want more? See an expanded list of <a href="http://railsapps.github.io/rails-examples-tutorials.html">Rails Examples, Tutorials, and Starter Apps</a>.</p>
</div>
<div class="comments" id="comments">
<div class="content wikistyle gollum">
<h2>Comments</h2>
</div>
<p>Is this helpful? Your encouragement fuels the project. Please tweet or add a comment. Couldn't get something to work? For the example apps and tutorials, it's best to open an issue on GitHub so we can help you.</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="columns" -->
</div><!-- class="row" -->
<footer class="row">
<div class="large-12 columns">
<div class="row">
<div class="medium-4 large-4 columns">
<dl class="footer_nav">
<dt>RailsApps · Getting Started</dt>
<dd><a href="http://railsapps.github.io/ruby-and-rails.html">Ruby on Rails</a></dd>
<dd><a href="http://railsapps.github.io/what-is-ruby-rails.html">What is Ruby on Rails?</a></dd>
<dd><a href="http://learn-rails.com/learn-ruby-on-rails.html">Learn Ruby on Rails</a></dd>
<dd><a href="https://tutorials.railsapps.org/rails-tutorial">Rails Tutorial</a></dd>
<dd><a href="http://learn-rails.com/ruby-on-rails-tutorial-for-beginners">Ruby on Rails Tutorial for Beginners</a></dd>
<dd><a href="http://railsapps.github.io/installing-rails.html">Install Ruby on Rails</a></dd>
<dd><a href="http://railsapps.github.io/installrubyonrails-mac.html">Install Ruby on Rails - Mac OS X</a></dd>
<dd><a href="http://railsapps.github.io/installrubyonrails-ubuntu.html">Install Ruby on Rails - Ubuntu</a></dd>
<dd><a href="http://railsapps.github.io/rubyonrails-nitrous-io.html">Ruby on Rails - Nitrous.io</a></dd>
<dd><a href="http://railsapps.github.io/updating-rails.html">Update Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-composer/">Rails Composer</a></dd>
<dd><a href="http://railsapps.github.io/">Rails Examples</a></dd>
<dd><a href="http://railsapps.github.io/rails-examples-tutorials.html">Rails Starter Apps</a></dd>
</dl>
</div>
<div class="medium-4 large-4 columns">
<dl class="footer_nav">
<dt>RailsApps · Articles</dt>
<dd><a href="http://railsapps.github.io/rails-authorization.html">Rails Authorization</a></dd>
<dd><a href="http://railsapps.github.io/rails-google-analytics.html">Analytics for Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-heroku-tutorial.html">Heroku and Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-javascript-include-external.html">JavaScript and Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-environment-variables.html">Rails Environment Variables</a></dd>
<dd><a href="http://railsapps.github.io/rails-git.html">Git and Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-github.html">Rails GitHub</a></dd>
<dd><a href="http://railsapps.github.io/rails-send-email.html">Send Email with Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-haml.html">Haml and Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-default-application-layout.html">Rails Application Layout</a></dd>
<dd><a href="http://railsapps.github.io/rails-html5-boilerplate.html">HTML5 Boilerplate for Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-3-2-example-gemfile.html">Example Gemfiles for Rails</a></dd>
<dd><a href="http://railsapps.github.io/rails-application-templates.html">Rails Application Templates</a></dd>
<dd><a href="http://railsapps.github.io/rails-product-planning.html">Rails Product Planning</a></dd>
<dd><a href="http://railsapps.github.io/rails-project-management.html">Rails Project Management</a></dd>
</dl>
</div>
<div class="medium-4 large-4 columns">
<dl class="footer_nav">
<dt>RailsApps · Tutorials</dt>
<dd><a href="http://railsapps.github.io/twitter-bootstrap-rails.html">Rails Bootstrap</a></dd>
<dd><a href="http://railsapps.github.io/rails-foundation.html">Rails Foundation</a></dd>
<dd><a href="http://railsapps.github.io/rails-omniauth/">OmniAuth Tutorial</a></dd>
<dd><a href="http://railsapps.github.io/tutorial-rails-devise.html">Rails Devise Tutorial</a></dd>
<dd><a href="http://railsapps.github.io/tutorial-rails-devise-rspec-cucumber.html">Devise RSpec</a></dd>
<dd><a href="http://railsapps.github.io/tutorial-rails-bootstrap-devise-cancan.html">Devise Bootstrap</a></dd>
<dd><a href="http://railsapps.github.io/rails-devise-roles">Role-Based Authorization</a></dd>
<dd><a href="http://railsapps.github.io/rails-devise-pundit">Rails Authorization with Pundit</a></dd>
<dd><a href="https://tutorials.railsapps.org/rails-stripe-membership-saas">Rails Membership Site with Stripe</a></dd>
<dd><a href="https://tutorials.railsapps.org/rails-recurly-subscription-saas">Rails Subscription Site with Recurly</a></dd>
<dd><a href="https://tutorials.railsapps.org/rails-prelaunch-signup">Startup Prelaunch Signup Application</a></dd>
</dl>
<dl class="footer_nav">
<dt>RailsApps Profile</dt>
<dd><a href="https://plus.google.com/108039160165742774777?rel=author">Google</a></dd>
<dd><a href="https://plus.google.com/117374718581973393536" rel="publisher">Find us on Google+</a></dd>
</dl>
</div>
</div>
</div>
</footer>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.2.2/js/foundation.min.js"></script>
<script>
$(document).foundation();
</script>
</body>
</html>