cancan
cancan copied to clipboard
Yet another strong params support
Inspiration taken from https://github.com/ryanb/cancan/pull/958, https://github.com/ryanb/cancan/pull/911, and others.
This adds strong parameters support but with some smart defaults. Since strong_parameters really only affects cancan for :create
and :update
actions, we only apply params for those actions. Further more, by default, we try to run several methods in order:
-
create_params
orupdate_params
(depending on the action you are requesting, allows you to override the following other methods if you have different params for creating and updating the resource) -
<model_name>_params
such as ability_params (the default rails 4 convention when naming your param method) -
resource_params
(a generically named method... so you don't have to change the method name if you change your model name or cancan key)
Further more, you can specify a custom method to run via the param_method
option:
load_and_authorize_resource param_method: :my_sanitizer
It is also backwards compatible as if none of the methods are found it will carry on with the legacy way.
I've updated the readme and changelogs if we ever get a 1.6.11.
+1 @bryanrite this is a nice solution, thanks.