Ruby on Rails, generally known as Rails, is an open source web development framework which runs on Ruby programming language. In Ruby pages and applications are created by collecting information from the webserver, talks to the database and renders the templates out of the box. That is the main reason, Rails is featuring a routing system that is independent of the web service.
Ruby on Rails is using the model–view–controller (MVC) pattern to organize application programming.
Talking about the default Ruby configuration, a model in the Ruby on Rails framework maps to a database table, and a Ruby file. Let’s have an example, a model class User will be defined in the file user.rb in the app/models directory, and tends to get linked to the table users in the database. Developers have a choice to choose any model name, file name or database table name. But this is not a very common practice and usually discouraged according to the “convention over configuration” philosophy.
A controller in Rails is a component that responds to external requests from the web server to the application by determining which view file to render. The controller can also query one or more models directly for information and pass these on to the view
A view in Rails is an erb file, which is compiled to HTML at run-time. Many other templating systems can be used for views.
Philosophy and design
Ruby on Rails has layed emphasize on Convention over Configuration (CoC), and the Don’t Repeat Yourself (DRY) principle.