Programski jezik Ruby on Rails® ima funkciju koja programerima omogućuje izradu aplikacije gotovo automatski. Poznata kao Rails® skela, ova funkcija generira popis koda potrebnog za rad programa. Rails® skela čini generički popis kodova koji će pomoći većini programa da se pokrenu i pokrenuti, iako će korisnik možda morati modificirati skelu kako bi bio ispravan. To znači da mnogi profesionalni Rails® programeri ne koriste ili rijetko koriste funkciju skele. Skele se smatraju tehnikom za nove i srednje korisnike koji nemaju iskustva u izradi aplikacije ručno.
Rails® je graditelj web aplikacija napravljen za povezivanje s bazama podataka za izgradnju velikih i moćnih web stranica. Neke tvrtke žele da se njihove web stranice pokrenu u kratkom vremenu i bez sati kodiranja, pa programski jezik Rails® dolazi s mnogim razvojnim prečacima koji programerima omogućuju postavljanje osnovnog koda web stranice. Jedan primjer toga su Rails® skele.
Kada se pozove funkcija Rails® skele, ona stvara popis potrebnog kodiranja za funkciju. Ovaj kod je generički, što znači da je svestran i može se uklopiti u mnoge uobičajene situacije, ali možda nije prikladan za napredna rješenja. Najčešća funkcija koja se koristi zajedno sa skelom je dodavanje novih informacija u bazu podataka, ali druge funkcije — poput objavljivanja ili prikazivanja podataka — također se mogu postaviti pomoću skela.
Programer koji koristi Rails® skele obično će koristiti naziv modela kako bi usredotočio skelu na određenu funkciju. Na primjer, ako se tip modela zove “Post”, tada će Rails® razumjeti da programer želi napraviti funkciju koja omogućuje korisniku ili administratoru da objavi novu web stranicu ili članak. Osim korištenja tipa modela, programer malo toga može učiniti kako bi generičku skelu učinio specifičnijom za njegovu ili njezinu svrhu.
Iako je Rails® skela moćna tehnika, obično je koriste samo novi i srednji programeri. Profesionalci se obično drže podalje od skela, posebno kada rade na prilagođenim ili vrlo specifičnim projektima, jer skele ne mogu zadovoljiti potrebe stručnjaka. To je zato što je skela toliko generička da se ne može prilagoditi specifičnim potrebama bez da programer pretražuje kod skele i ručno ga mijenja. To znači da je naprednim korisnicima općenito lakše napisati funkciju od nule.