Methods
Instance Public methods
permissions_policy(**options, &block)
Overrides parts of the globally configured Feature-Policy
header:
class PagesController < ApplicationController
permissions_policy do |policy|
policy.geolocation "https://example.com"
end
end
Options can be passed similar to before_action
. For example, pass only: :index
to override the header on the index action only:
class PagesController < ApplicationController
permissions_policy(only: :index) do |policy|
policy.camera :self
end
end
📝 Source code
# File actionpack/lib/action_controller/metal/permissions_policy.rb, line 26
def permissions_policy(**options, &block)
before_action(options) do
if block_given?
policy = request.permissions_policy.clone
instance_exec(policy, &block)
request.permissions_policy = policy
end
end
end
🔎 See on GitHub