1.a tag containing a piece of ruby code
2.the set of operations that a Rails app carries out in response to a request from a user
3.fragments of pages that are stored in separate files
4. this defines an html wrapper for all of the templates belonging to a particular model