Ruby on Rails® programavimo kalba turi funkciją, leidžiančią programuotojams sukurti programą beveik automatiškai. Ši funkcija, žinoma kaip Rails® pastoliai, sukuria kodų, reikalingų programai veikti, sąrašą. Rails® pastoliai sudaro bendrą kodų sąrašą, kuris padės pradėti ir paleisti daugumą programų, nors vartotojui gali tekti pakeisti pastolius, kad jie būtų tinkami. Tai reiškia, kad daugelis profesionalių Rails® programuotojų nenaudoja arba retai naudoja pastolių funkciją. Pastoliai laikomi technika, skirta naujiems ir tarpiniams vartotojams, kurie neturi patirties kurti programą rankiniu būdu.
Rails® yra žiniatinklio programų kūrimo priemonė, skirta prisijungti prie duomenų bazių ir kurti dideles ir galingas svetaines. Kai kurios įmonės nori, kad jų svetainės pradėtų veikti per trumpą laiką ir nereikėtų daug valandų koduoti, todėl Rails® programavimo kalba pateikiama su daugybe kūrimo nuorodų, leidžiančių programuotojams nustatyti pagrindinį svetainės kodą. Vienas iš pavyzdžių yra Rails® pastoliai.
Kai iškviečiama Rails® pastolių funkcija, ji sukuria būtinų funkcijos kodų sąrašą. Šis kodas yra bendras, tai reiškia, kad jis yra universalus ir tinka daugeliui įprastų situacijų, tačiau jis gali netikti pažangiems sprendimams. Dažniausia funkcija, naudojama kartu su pastoliais, yra naujos informacijos įtraukimas į duomenų bazę, tačiau naudojant pastolius galima nustatyti ir kitas funkcijas, pvz., duomenų paskelbimą ar rodymo funkciją.
Rails® pastolius naudojantys programuotojas paprastai naudoja modelio pavadinimą, norėdamas sutelkti pastolius į tam tikrą funkciją. Pavyzdžiui, jei modelio tipas vadinamas „Paskelbti“, „Rails®“ supras, kad programuotojas nori sukurti funkciją, leidžiančią vartotojui arba administratoriui paskelbti naują tinklalapį ar straipsnį. Be modelio tipo naudojimo, programuotojas mažai ką gali padaryti, kad bendrieji pastoliai labiau atitiktų jo ar jos paskirtį.
Nors Rails® pastoliai yra galinga technika, paprastai juos naudoja tik nauji ir vidutinio lygio programuotojai. Profesionalai linkę atsiriboti nuo pastolių, ypač dirbdami su individualiais ar labai specifiniais projektais, nes pastoliai nepatenkina profesionalo poreikių. Taip yra todėl, kad pastoliai yra tokie bendri, kad jų negalima pritaikyti konkrečiam poreikiui, jei programuotojas neieško pastolių kodo ir nepakeičia jo rankiniu būdu. Tai reiškia, kad pažengusiems vartotojams paprastai yra lengviau parašyti funkciją nuo nulio.