Database and MVC

I have just discovered Ruby on Rails and I have been going through the tutorial "Rolling with Ruby on Rails revisited".

One thing that baffles me is that we create my sql tables "recipes" and "categories". We then generate ruby scaffold using the command

ruby script/generate scaffold recipe recipe ruby script/generate scaffold category category

As you can see that the model and controller arguments are spelt differently from the database table names. How does the framework associate the right table to the right model and controller classes.

Moving further on in the tutorial I notice that the model classes Category and Recipe have the following line of code added to them- class Category < ActiveRecord::Base has_many : recipes end

class Recipe < ActiveRecord::Base belongs_to : category end

It looks like that the framework uses "recipes" and "recipe" && "category" and "categories" interchangeably.

Can someone throw some light on this issue?

Thank you, S