Ruby backend framework choice: Ruby on Rails vs Sinatra
Personally, I'd introduce Sinatra first.

Which one of these is going to be easier to explain? Sinatra's "Hello World" example...



require 'sinatra'

get '/' do
  'Hello world!'
end


Or all the boilerplate that Rails generates...

$ rails new commandsapp
 create
 create  README.md
 create  Rakefile
 create  config.ru
 create  .gitignore
 create  Gemfile
 create  app
 ...
 create  tmp/cache
 ...
    run  bundle install


(and that's just from the script that generates everything!)

I would imagine that Rails would feel a little bit overwhelming for a beginner to web development. It brings a lot of baggage with it, like the MVC pattern and a lot of handy generators that are useful to experienced developers, but hide the logic to a learner.

It seems logical to me to teach using Sinatra first, and then let your students realise what the problems are. They'll be more inclined to go through the process of learning Rails, with all the extra boilerplate involved, if they see why using an opinionated MVC framework is useful.

For trivial backend applications, like you'll probably be developing at first, RoR is overkill, and there are too many concepts that you'd have to teach before actually getting to make anything. I'm a fan of teaching from the basics in this case—showing why each additional layer of libraries and frameworks is needed is far more valuable thank saving some time by skipping Sinatra. And, of course, the motivation to make something can be more easily satisfied by starting with Sinatra, and you can later introduce the 'batteries included' framework of Rails.