如何在Pundti参数上捕获错误需要

时间:2019-07-17 13:12:06

标签: ruby-on-rails pundit

我正在像这样使用Pundit宝石:

在控制器中:

def pundit_params_for(record)
  params.require(:business)
end

在政策中:

# Strong Params
  def permitted_attributes
    []
  end

  def permitted_attributes_for_create
    [
    :address,
    :business_type,
    :city,
    :email,
    :name,
    :phone,
    :state,
    :website,
    :type,
    :zip
    ]
  end

  def permitted_attributes_for_update
    [
    :address,
    :business_type,
    :city,
    :email,
    :name,
    :phone,
    :state,
    :website,
    :type,
    :zip
    ]
  end

这可以很好地清理参数,但是当require失败时,它不会引发错误并被捕获以按预期返回422。我确实收到有关不允许的参数的打印消息;但是,在需求失败时不会发生错误抛出,这与Rails的strong参数所期望的一样。当未提供所需的参数时,如何使它失败?

0 个答案:

没有答案