Getting Started with Ruby on Rails

Foundations for Building Web Apps with Ruby on Rails

Getting Started with Ruby on Rails

Price$30.00

SchoolUdemy
ScheduleOn Demand
LocationOnline
Duration16 hours
Credits0
Enroll
Rating
Reviews10
Popularity9324 Registered
In CertificateNo
Difficultyall level
EffortN/A
Course DetailsCourse FAQ

Getting Started with Ruby on Rails

Categories:
Development

This course covers all you need to get started with building Web applications with Ruby on Rails. It takes you from basic material on the best practices that are embedded into the Rails framework, through to advanced material on developing real time applications with Rails.

The course contains screen casts and practical examples. We show you how to get coding right away using Nitrous - a cloud based development environment. So there is no need to spend time on the tedious business of installing tools on your own machine.

I am not a full-time teacher. My courses are informed by extensive real-world application development both in industry and academia. So I teach you what works in practice, and by following this course you will benefit from my 35 years' experience in a wide range of software engineering projects.

Course Details

Basic Introduction to Ruby for Rails Developers
online
chapter
On Demand
Setting the Scene
online
lecture
<p style="">This lecture introduces the goals of the course, and then moves on to some Ruby basics, followed by a picture of the Rails framework. It&#039;s a fairly light-weight lecture so let it all wash over you and get ready for a bit more work next time.</p>
On Demand
Using Nitrous.io for Ruby on Rails
online
lecture
<p style=""> Installing Ruby on Rails on your own machine can be a real pain point. I strongly recommend using the Nitrous.io development environment &quot;in the cloud&quot;. It all works smoothly and enables you to get straight into learning Ruby and Rails. This lecture shows you how to get started with Nitrous. </p>
On Demand
The Nitrous Desktop
online
lecture
<p style=""> The Nitrous Desktop is now available for both Windows and Mac. It enables you to synchronise files between Nitrous and your local machine. This means you can (a) keep a local copy of your Nitrous project, and (b) edit the project with an editor on your own machine and have it synchronise with the project in Nitrous. At the end of the lecture I introduce the Interactive Ruby Console (IRb) that will be used in the next few lectures on Ruby. </p>
On Demand
A Little Deeper into Ruby
online
lecture
This lecture covers some basics of Ruby, focussing on some of the features that are particularly exploited in Rails. It also introduces Classes in Ruby.<br style="">
On Demand
Classes in Ruby
online
lecture
This lecture looks at how to read and access class instances in Ruby, how to control access to Ruby&#039;s methods and how to declare subclasses of a given class. It also contains a short but important homily on the difference between a variable and the internal representation of an object that is referenced by a variable.
On Demand
Interactive Ruby: the IRb
online
lecture
<p style=""> Now you have some familiarity with Ruby, it is worth getting to know the IRb (Interactive Ruby) tool a little better to enable you to explore the language. This lecture contains some worked examples of using the IRb to introduce the basic commands and some of the cool things you can do if you want to experiment with Ruby. </p>
On Demand
A Little Practice with Ruby
online
lecture
<p style=""> This handout contains an extended coding example in Ruby in order to provide a little more detail about some aspects of the language. It also contains a few simple exercises to test your understanding. Answers to these will be available in the supplementary material section. </p>
On Demand
Handling Static Pages in Rails
online
chapter
On Demand
Introducing Rails
online
lecture
<p style=""> Now we can start to take a look at Rails. In this lecture, I will provide a quick reminder of the details of the MVC architecture, show some basics of using embedded Ruby to generate content for View files and finally use Rails&#039; generated links to navigate between pages. </p> <p style=""> An archive of the complete project that was created for this lecture can be found in the supplementary material. I do strongly recommend taking the trouble to type up the code for the project by hand first, but you may find the archive useful to refer to if you have any problems. </p>
On Demand
Static Pages in Rails
online
lecture
<p style=""> This lecture introduces the larger sample application that we will use for the remainder of the course. We will explore rails routes a little more, and then introduce the layout file that fleshes view files out into complete html documents. Finally, we will introduce helpers, that can be used to customise view files. </p>
On Demand
Fleshing Out the Content
online
lecture
<p style=""> In this lecture, we will introduce the use of Rails&#039; &quot;partials&quot; to capture small reusable chunks of html content. Specifically, we will use partials to capture the header, footer and nav bar for our website. </p> <p style=""> We will also take another look at our routes, and introduce the Rails &quot;link_to&quot; method. </p>
On Demand
Getting Your Processes Sorted
online
chapter
On Demand
The Importance of Process
online
lecture
<p style="">Process&nbsp;<em style="">is</em> important. It is particularly important when you are working with a team. But even if you are working on your own, using the techniques and tools that I will introduce you to in this chapter will protect you from a number of potential disaster scenarios, and help to ensure that you deliver a quality product to your customer.</p> <p style="">This opening lecture provides a short overview of the material that will be covered in the rest of this chapter.</p>
On Demand
Setting up your Development Environment
online
lecture
<p style="">There are two broad choices for a Rails development environment. Many prefer the lightweight command line plus programmer&#039;s editor route. The alternative is to use a full fledged IDE. I will talk about both in this lecture.</p><p style="">I will also briefly cover the options for backend database.</p>
On Demand
Behaviour Driven Development
online
lecture
Another best practice that is supported by Ruby and Rails is Behaviour Driven Development. This lecture introduces two BDD tools, Cucumber and RSpec. Cucumber supports the creation of feature level scenarios. RSpec is more usually used for specifying behaviours of smaller chunks of code. Both levels of specification can be executed against the code base and so are essential tools for supporting iterative specification/development/test cycles.
On Demand
Version Control with Git and GitHub
online
lecture
<p style="">Having developed well specified and tested code, you will now want to maintain it in a carefully managed repository,won&#039;t you! In this lecture we will review the fundamentals behind the distributed version control system Git, and show you how to set up a remote repository in GitHub.</p>
On Demand
Early Deployment and Reprise
online
lecture
The final part of this chapter covers the use of Heroku to deploy stable increments of your project &quot;into the Cloud&quot;. This enables you to close the feedback loop with your customer and is a key part of the process. We will also take a quick review of what we have learnt in this chapter.
On Demand
Now Add Some Database Magic
online
chapter
On Demand
Using Active Record
online
lecture
<p style=""> We will replace the static Events page with a dynamically generated index of Events in this lecture. This will introduce you to Rails&#039; Active Record. This manages the Object-Relational mapping that takes care of the relationship between a Rails model at its persistent representation in the database. We will use a scaffold generator to produce the: events controller; all the views that correspond to actions in the controller; an update to the routes.rb file; the database migration; and, of course, the Event.rb class for the model itself. </p>
On Demand
Validations, Action Callbacks and Authorisation
online
lecture
<p style=""> We have generated a model with a CRUD interface so that users may add and update events. But we also need to ensure that all the data that must be provided before an event is saved, is indeed provided - and in the correct format. For that we use Rails Validations. Even more importantly, we need to ensure that only authorised users change data. We introduce Ruby&#039;s Action Callbacks and then use these to place an authentication layer on those actions whose access needs to be controlled. Rather than code up authentication from scratch, we will use the Devise gem. This will also introduce you to the use of Ruby Gems. </p>
On Demand
Capturing Associations between Classes
online
lecture
<p style=""> Building Associations between classes is so easy in Rails. This lecture demonstrates how we can use Active Record to build a one-to-many association between two classes in a model. We also show how to ensure that dependent objects are destroyed automatically when a parent object is destroyed. </p>
On Demand
Thinking About Your Models
online
lecture
<div class="w3c-default" style=""><p style="">Rails has some impressive support for Model Building in Active Record. The key thing about this is that (a) Rails uses conventions to free you from the routine configuration of your model implementation, and (b) you are now free to think deeply about your domain model. In this lecture we will say a little more about the association types that are supported by Active Record, but more importantly, start to show you how to think deeply about your models. Be very clear about this. No matter how good you are at developing Rails apps, there will always be someone who is better. But your Model is going to remain your unique selling point - <em style="">you have to get it right</em>!</p></div>
On Demand
A Little Bit of Tidy Up with jQuery
online
lecture
<p style=""> We left the sample application with a couple of issues. Firstly, the foreign key for the event that is associated with a comment needed to be added manually. In this lecture we will see how to automatically pass the foreign key to the comments controller. Secondly, the comments are on a different page to the associated event. We will move the comments for a specific event to that event&#039;s Show page. Finally, we will use some jQuery magic to hide and reveal the comments list without page refresh. This will provide an introduction to the use of jQuery and unobtrusive JavaScript. </p> <p style=""> You will find a zip file containing the complete code for the project so far under the Resources section. This should have all the links correctly setup as per the discussions around this lecture, but do send me a message if I have missed anything. </p>
On Demand
A Touch of Style
online
chapter
On Demand
Laying the Foundations for a Makeover
online
lecture
<p style="">As we build up content in this Chapter, we will also start to style our sample web application. Before we commit to styling we need to pull together a Boilerplate of best practice to handle cross-browser compatibilities and other known issues to ensure our application has a consistent look and feel.</p>
On Demand
Semantic Markup with HTML5
online
lecture
<p style="">We will gain more experience of using the new HTML5 elements in this lecture. They will help us provide meaningful structure to the pages in our application. In addition, we will start to bring in some basic styling with CSS.</p>
On Demand
Sassy CSS
online
lecture
<p style="">CSS can do magic, but it also does a lot of things badly.</p> <p style="">Sassy CSS sorts out the issues properly and makes CSS truly DRY. We will first introduce Sprockets - a general purpose tool for managing asset pipelines. Then we will show how SCSS enables you to define and structure your styling assets much more effectively than was possible with vanilla CSS.</p>
On Demand
Take a REST
online
chapter
On Demand
RESTful Rails
online
lecture
<p style="">In keeping with its maxim of &quot;Convention over configuration&quot;, Rails includes support for designing/generating &quot;RESTful&quot; APIs. In this chapter, we will review the basics of routing in Rails, and then discuss how the concepts of REST (Representational State Transfer) are used in Rails.</p>
On Demand
RESTful CRUD in Detail
online
lecture
<p style="">This lecture looks in detail at the mappings from Routes to Controller Actions that are automatically generated for you when you declare a Resource in Rails. As well as simplifying the navigation through your application, it also automatically generates a public facing RESTful API for you. We will show how to make this API respond to requests for different representations of a resource.</p>
On Demand
And a Sprinkling of Gems
online
chapter
On Demand
A Sprinkling of Gems
online
lecture
<p style="">Ruby Gems enable you to extend Rails Core with best practice solutions for many of the common programming problems that are found when building Rails Apps. These are easy to plug into your project and offer mature and stable enhancements. We will explore some of the best in more detail in the remainder of the lectures in this chapter.</p>
On Demand
Active Admin
online
lecture
<div class="w3c-default" style=""><p style="">Active Admin is a rich and powerful Gem for generating the back end Administration functionality for a Rails Web Application. It includes Devise for authentication, and use Formtastic to generate the forms it uses. It is highly recommended, and extensively used by the Rails community to provide the Administration components of web applications.</p><p style=""><strong style="">N.B. </strong>Some of you have seen a clash between the earlier installation of Devise and Active Admin. As a result, you may find it easier/safer to start this lecture with a clean build of the sample application that has not got Devise installed. The archive file that is available here as a download should provide a good starting point. Once you have unzipped the file, you will need to cd into its root directory, bundle install and migrate the database to the current version. Then check it runs okay. Once that is done, you can install Active Admin as per this lecture. Note that once you have installed Active Admin, you will need to add the authentication filters in as per Lecture 14 - this includes adding in the sidebar that is described in Slide 17 of that lecture. (Note also that the before_filter you need to use is: authenticate_user!.</p> </div>
On Demand
CarrierWave and RMagick
online
lecture
<p style="">These two gems offer complementary functionality. CarrierWave supports upload of media files into a Web Application. RMagick provides some extremely useful image processing capability. We will see how these two gems can work together to enable us to add the capability to upload image files, and have them automatically resized into versions that are suitable for different uses in our Sample Application.</p>
On Demand
Now What Have We Got
online
chapter
On Demand
Where to now?
online
lecture
<p style=""> I give a quick summary of where we are, and then provide some pointers to sources of material for continuing the adventure. </p> <p style=""> If you are ready to take a more intensive web development course, Bloc offers a<strong style=""> Developer Apprenticeship.</strong> You can save $100 on enrollment with the coupon code <strong style="">&quot;learnrails&quot;</strong>. </p> <p style=""> <strong style="">How Bloc Works:</strong> </p> <ul style=""> <li style=""><strong style="">Continuous coaching</strong>: Meet 3 times per week, <strong style="">one-on-one</strong>, with a Bloc mentor vested in your success. </li> <li style=""><strong style="">Intensive</strong>: Bloc is a results-focused program with a 25 hour/week commitment. </li> <li style=""><strong style="">Real-World projects</strong>: You&#039;ll build clones of <strong style="">Reddit</strong>, <strong style="">Wikipedia</strong>, <strong style="">Kissmetrics</strong>, and <strong style="">Google Reader</strong> and learn industry standard tools. </li> <li style=""><strong style="">Jump-start your passion project</strong>: As your final <strong style="">capstone project</strong>, you&#039;ll build your own Ruby on Rails website from scratch with your mentor&#039;s help.</li> </ul>
On Demand
Starting the Move to the Next Level
online
chapter
On Demand
More on Working with Git
online
lecture
<p style=""> This lecture covers more detail about Git. While much of the focus is on the use of Git&#039;s capability for using branches, a number of other important features are introduced. Once you have gone through this lecture you should have enough information to both work on your own projects and contribute to a shared project. </p>
On Demand
My First Real Time Rails App
online
lecture
<p style=""> We show off ActiveRecord::Live with a simple application for streaming data from the server into a client view. We start off with the simplest of examples but gradually refine this into a comprehensive end-to-end example that captures all the key technology you need to stream data into a Rails View. There is a lot of new stuff in this lecture: JavaScript; jQuery; Server-Sent Events. I will introduce these, but we will go into them all in more depth as we progress through the advanced material. </p>
On Demand
Appendix: HTML5 Basics
online
chapter
On Demand
What is HTML?
online
lecture
<div style="">As a bonus for all those taking this course, I have included all the material in my &quot;HTML: Ready, Set, Go&quot; course as an appendix.</div>In this first lecture, we answer the question of what is HTML. This naturally leads into a short discussion on why it is important to take a standards-based approach to using HTML. Finally, the lecture provides a short overview of the content of the remainder of this Appendix.
On Demand
A Short history of HTML
online
lecture
In a sense, HTML as we know it today was not &quot;built by design&quot;. Instead, it has evolved over the last twenty years through a collective learning experience from standards bodies, browser developers and users. The very high level history of HTML in this lecture focuses on some key milestones that helped to define HTML as it is today.
On Demand
The structure of an HTML document
online
lecture
This short lecture introduces the key elements that are needed in a valid HTML document.
On Demand
The Document Object Model
online
lecture
The HTML Document Object Model (DOM) support an alternative representation in which HTML elements in a document are represented as objects. The DOM API then enables properties of the elements to be changed, and even for elements to be added to, or removed from, the tree of objects. Consequently the DOM plays important roles in the styling of HTML (using CSS) and the dynamic update of content (using JavaScript).&nbsp;
On Demand
The "head" element
online
lecture
Given that the textual content is barely visible in a browser, it is important to understand that the &lt;head&gt; element is a critically important part of your HTML document. Apart from the Docytpe declaration, it is the first part of your document that a user agent sees, and so sets expectations for the remainder of your document. It is also where references to the stylesheets and script files that are used in your HTML document belong.
On Demand
Block type and inline elements
online
lecture
The latest HTML5 specification identifies a number of categories of elements. However, the basic distinction between block type and inline elements is still very useful for understanding the overriding purpose of the different elements. They work at very different levels of granularity: block type elements provide structure to an html document; inline elements mark up small sections of content in a block that need to be distinguished in some way.
On Demand
Character encoding
online
lecture
<p style="">The two key lessons of this lecture are:</p><ol style=""><li style="">Follow the HTML5 recommendation of declaring your document as using the UTF-8 Unicode encoding scheme;</li><li style="">Once you have done that, eliminate (as far as is possible) character references.</li></ol>You will also find the Unicode Character Code Charts&nbsp;to be a useful reference:<p style="">http://www.unicode.org/charts/</p>
On Demand
Marking up text
online
lecture
We are now in a position to start marking up the text in a document. HTML5&#039;s new semantic elements provide us with more flexibility and more precision in structuring our documents. We first show how restrictive life was with HTML4, and then use a simple example to demonstrate the effectiveness of the new semantic elements.
On Demand
Tables
online
lecture
<div class="w3c-default" style="">Tables got a bit of a bad name as they were often misused for laying out web pages. Don&#039;t ever do that!!! However, tables&nbsp;<em style="">are&nbsp;</em>a valuable tool for presenting large amounts of data. This lecture will introduce you to how to use HTML to provide a clean semantics to the elements in a table.</div>
On Demand
Forms
online
lecture
The use of forms is pervasive on the interactive Web. I will introduce HTML forms and demonstrate best practice in marking up a form to fully describe its structure. This is especially important in order to support accessibility.&nbsp;
On Demand
Links
online
lecture
Links are the stuff of the Web. Given their importance, the syntax for a link is mercifully simple (and rightly so). Nevertheless, there are some good practices to take note of, and some&nbsp;<em style="">bad</em>&nbsp;practices to steer clear of.
On Demand
Validation
online
lecture
All the work in the last three chapters has been helping you to produce valid HTML5 documents. But there is still the chance of errors arising. These will not necessarily be picked up by browsers, as they are designed to be error tolerant. This is a key difference between parsing HTML and parsing XML. In the case of the former, a browser will try to second guess what you intended if it finds an error. In the latter case, the browser will simply stop the parsing and return a failure condition if it finds an error. But you should still try to flush out any errors as they will manifest themselves sooner or later in a hard to diagnose failure. This lecture shows you how to use the W3C validator - do it, it does not take long!
On Demand
Accessibility
online
lecture
The Web is all about access to all, and HTML5 provides strong support in this direction. Nevertheless there are still a number of additional techniques that can be used to enhance the accessibility of your site. We will discuss some of them in this lecture, but be aware that this is the start of a journey that will continue through the exploration of CSS and Dynamic HTML.
On Demand
Review and next steps
online
lecture
Now we are at the end of the course, let&#039;s just sit back with a reflection on the overall messages of the course. You can also see some pointers as to what to work on next.
On Demand
Appendix: CSS3 Design Patterns
online
chapter
On Demand
Image Replacement
online
lecture
We will use the &quot;Image Replacement&quot; design pattern to illustrate the basic approach. It is built up from two low-level design patterns: Background Image; and, Absolute. As a result, you will learn more good practice than just copying one design pattern - these two low-level design patterns give you some generally applicable good practice. That is why I argue that working with design patterns is such an effective way of learning CSS; you get to do interesting things, but also get to learn the basics at the same time.&nbsp;
On Demand
Layouts: Tabs
online
lecture
A horizontal tab bar is almost ubiquitous in modern web sites. However, it can be a little tricky to set up in CSS. This design pattern will give you a rock solid way of doing it. Along the way, you will meet the <em style="">Outside-in Box</em> design pattern, which is a cool way of managing the CSS Box Model.<p style="">Once you have the basic Tab Pattern mastered, you can try giving it a little more impact with the use of the CSS3 Transition animation. This just shows you how you can get some really impressive visual effects but without using JavaScript or Flash.</p>
On Demand

FAQ

Q. How long do I have access to the course materials?

A. You can view and review the lecture materials indefinitely, like an on-demand channel.

Q. What is the refund policy on the course?

A. We like to keep our users happy, so we have a 30-day no questions asked refund policy. Send an email to [email protected] for refund requests.

Q. Can I take my courses with me wherever I go?

A. Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!


Reviews of Getting Started with Ruby on Rails

  1. Posted by Thet Htut Oo| March 14, 2016

    A little bit outdated yet very clear in teaching

  2. Delivery not that good
    Posted by Christian Javellana| October 03, 2015

    Keeps on stuttering making it very hard to understand what he was trying to explain

  3. Great overall course
    Posted by Jay Wilburn| September 07, 2015

    Paul really gives you a great intro to Ruby on Rails as well as other development lessons. Very well done.

  4. Scam
    Posted by Kai Smith| August 14, 2015

    Course creator has decided that after several thousand people have paid for the course, he's closing it down. Avoid if you value your cash.

  5. Boring
    Posted by David Labor| August 05, 2015

    The lectures are long and drawn out. I couldn't take any more. I will learn from a book.

  6. Great Course!
    Posted by Rohit Bhardwaj| July 27, 2015

    Good for someone new to ruby and rails...

  7. Too bad voice
    Posted by Ehsan Gazar| July 20, 2015

    Something else that bothered me a lot is when I want to learn ruby on rails I don't want to learn ruby or HTML I just want to learn Ruby On Rails,nothing more.

  8. Very informative and interesting lectures
    Posted by Thai Nguyen Le| June 29, 2015

    Thank you professor, I have a good time learning your course so far.

  9. Newbie friendly
    Posted by Lukashoff| June 11, 2015

    I have had no idea about how does MVC works or what is Ruby before going through this course. Perfectly explained everything that newbie needs to start with Ruby on Rails.

  10. Worth a couple of hundreds dollars
    Posted by Patrick| March 27, 2015

    Very good course on RoR, for both beginners and experienced programmers

Course provided by: Udemy