модуль ActionController::PermissionsPolicy::ClassMethods
Открытые методы экземпляра
# File actionpack/lib/action_controller/metal/permissions_policy.rb, line 33
def permissions_policy(**options, &block)
before_action(options) do
unless request.respond_to?(:permissions_policy)
raise "Cannot override permissions_policy if no global permissions_policy configured."
end
if block_given?
policy = request.permissions_policy.clone
instance_exec(policy, &block)
request.permissions_policy = policy
end
end
end Переопределяет части глобально настроенного заголовка Feature-Policy:
class PagesController < ApplicationController
permissions_policy do |policy|
policy.geolocation "https://example.com"
end
end
Параметры можно передавать так же, как в before_action. Например, передайте only: :index, чтобы переопределить заголовок только для действия index:
class PagesController < ApplicationController
permissions_policy(only: :index) do |policy|
policy.camera :self
end
end
Требуется глобальная политика, определённая в инициализаторе; она может быть пустой:
Rails.application.config.permissions_policy do |policy| # policy.gyroscope :none end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.