JavaScript badge

Using Ruby on Rails For Your Back End

JavaScript Course

Introduction

So, you’ve now learned a lot of juicy JavaScript, enabling you to make various components of your HTML/CSS page react to user actions and/or input. That’s great! As you’ve seen, you can get your apps to do a lot of pretty cool things already, just using client-side JavaScript. You may have noticed, though, that there is still an important piece of the puzzle missing: unless you use Local Storage, your app ‘forgets’ the user’s preferences, as well as any other changes made, as soon as the page gets reloaded.

While Local Storage is great, it’s not ideal: it only stores data on the computer from which the user is accessing the page. This approach does not allow for the app to ‘remember’ anything when the same user tries to access it again from a different device. For that, you’re going to need a real backend.

Learning Outcomes

By the end of this lesson, you should be able to:

  • Explain how “unobtrusive JavaScript” works
  • Explain how to pass data from your Rails application to your JavaScript
  • Explain why you should use AJAX to load large batches of data

Building your own backend with Ruby on Rails

Since you’ve already learned Ruby on Rails in our full-stack Ruby on Rails path, the next step is obvious: you get to build your own backend with Rails! In preparation, reread the Rails lesson on building an API to refresh how to set up a Rails backend that can handle JSON requests.

Are you done? Good. Next, it’s time to practice allowing your front end JavaScript to talk to your Rails backend using AJAX. We’ll cover some best practices for how to pass data from one to another, but otherwise it’s up to you: you’ve got everything you need to put together those final pieces of the web development puzzle.

Assignment

  1. Check out “Using JavaScript in your Rails App” from Daniel Kehoe. It is long and covers a lot of ground, but it’s got great content. Some of the stuff on dependencies can be skimmed, but pay attention to the content_for stuff at the bottom.

  2. Refresh yourself on Rails AJAX from RailsGuides (just skim the top few sections).

  3. Read Bootstrapping JSON data into a Rails View to learn about passing data to your front end.

Additional Resources

This section contains helpful links to other content. It isn’t required, so consider it supplemental.

Knowledge Check

Improve this lesson on GitHub

Have a question?

Chat with our friendly Odin community in our Discord chatrooms!

Open Discord

Are you interested in accelerating your web development learning experience?

Get started
Thinkful Logo

Thinkful

  • 5-6 months

    5-6 months

  • Job Guarantee

    Job Guarantee

  • 1-on-1 Mentorship

    1-on-1 Mentorship