Metaprogramozás az a technika, amikor kódot írunk, amely futás közben új kódot hoz létre vagy módosít — dinamikusan definiálunk metódusokat, válaszolunk nem definiált metódushívásokra, és röptében módosítjuk az osztályokat. A Ruby dinamikus természete (minden objektum, az osztályok is), amely lehetővé teszi a metaprogramozást, szinte kivételesen jól alkalmazható rá, és ez a Rails "varázslata" mögötti motor.
Metódusok dinamikus definiálása
[, , ].each ||
(attribute)
instance_variable_get()
() ||
instance_variable_set(, value)
