21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/better_strong_params.rb', line 21
def whitelist_parameters(options = {})
alias_method :_params, :params
define_method("params") do
filtered = {}
top_level_params = options.keys
top_level_params.each do |top_level_param|
filtered[top_level_param] = _params.require(top_level_param).permit(*options[top_level_param])
end
(_params.keys.map(&:to_s) - options.keys.map(&:to_s)).each do |root_level_param|
filtered[root_level_param] = _params[root_level_param]
end
ActionController::Parameters.new(filtered).permit!
end
end
|