Actions
Refactor #18214
closedAccept `params` as either ActionController::Parameters or Hash
Description
A few places in the codebase check the type of argument with is_a?(Hash)
when accepting input from either params
(via a controller) or manually constructed hashes, e.g.
- Foreman::AccessControl.permissions_for_controller_action
- ReportImporter#initialize
- Role#allowed_to?
- User#allowed_to?
In Rails 4.2, params
is an ActionController::Parameters
instance, but it's a subclass of Hash
. In Rails 5, it no longer inherits from Hash
(https://github.com/rails/rails/commit/14a3bd5) and so checks for is_a?(Hash)
return false. The checks should permit either, as both plain hashes and params
are passed around in Foreman.
Updated by The Foreman Bot almost 8 years ago
- Status changed from Assigned to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/4221 added
Updated by Dominic Cleal almost 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset 15c7ce271c6cf67a69079fb596e97624ddb9d52f.
Updated by Dominic Cleal almost 8 years ago
- Translation missing: en.field_release set to 209
Actions