Upgrading Plugin To Rails 4

Migrations

in case the plugin has migrations, the engine.rb file should replace

app.config.paths['db/migrate'] += PluginName::Engine.paths['db/migrate'].existent

with
PluginName::Engine.paths['db/migrate'].existent.each do |path|
        app.config.paths['db/migrate'] << path
end

run migrations and fix failures which might rise (for instance, use of deprecated “scoped” method)

routes.rb:

replace match with get (or other appropriate methods)
replace put with patch

models

make sure that mass-assignable attributes are listed in attr_accessible, otherwise, all attributes are protected.