折腾好久了…… 能改的设置都改了,但注册的时候还是非要邮箱,如果不提供邮箱就无法注册…… 但我希望是只要用户名密码就能注册成功的,为什么就是不行呢?
我改的设置: 1.在#application_controller.rb
before_action :configure_permitted_parameters, if: :devise_controller?
protect
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
devise_parameter_sanitizer.for(:sign_up) << :realname
end
2.把 migration 里的 email 项的 null: false, default: ""删除
3.#config/initializer/devise.rb 里
config.authentication_keys = [ :username ]
config.case_insensitive_keys = [ :username ]
config.strip_whitespace_keys = [ :username ]
config.confirmation_keys = [ :username]
config.reset_password_keys = [ :username ]
4.在 #model/user.rb 里
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, :authentication_keys => [:username]
#model/user.rb 里添加方法:
def email_required?
false
end