0
我在我的rails應用程序中爲我的用戶使用Devise。當人們只註冊他們的電子郵件和密碼時。我如何訪問控制器以允許更多參數,例如名字和姓氏? 謝謝設計模型的其他參數登錄
我在我的rails應用程序中爲我的用戶使用Devise。當人們只註冊他們的電子郵件和密碼時。我如何訪問控制器以允許更多參數,例如名字和姓氏? 謝謝設計模型的其他參數登錄
您應該將參數添加到devise_parameter_sanitizer
爲sign_up
你可以在你application_controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :first_name
end
end
完成或配置使用整套的參數
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:password, :password_confirmation, :email, :first_name, :last_name) }
end
另一種方法是創建一個繼承自的類10
class User::ParameterSanitizer < Devise::ParameterSanitizer
def sign_up
default_params.permit(:password, :password_confirmation, :email, :first_name, :last_name)
end
end
在
application_controller.rb
class ApplicationController < ActionController::Base
protected
def devise_parameter_sanitizer
User::ParameterSanitizer.new(User, :user, params)
end
end
然後