延长许可 gem 控制器

Extending Clearance gem controllers

我正在尝试扩展许可控制器以通过其他一些表单元素

我目前已经完成了以下操作,但似乎没有效果,并且正在返回 ActiveModel::ForbiddenAttributesError

class UsersController < Clearance::UsersController
  private

  def user_from_params
    params.require(:user).permit(:first_name, :last_name, :mobile, :email, :password, :password_confirmation)
  end

end

创建操作调用 user_from_params,它显式调用许可 user_params 来验证强参数。在派生 class 中定义的 user_from_params 未被调用,因此出现异常。

您可以在派生的 class user_params 中命名强参数方法。然后,派生方法将简单地覆盖基 class 中的同名方法,而不管基方法是私有的这一事实。