方法
实例公共方法
permissions_policy(**options, &block) 链接
重写全局配置的 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
来源: 显示 | 在 GitHub 上
# 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