Rails intelligently maps query parameters to model
state, which saves a lot of boilerplate code. However, version 3.0 of
the Rails framework was vulnerable to arbitrary mass assignment -
meaning carefully crafted HTTP requests could overwrite protected state
in the data-model.