-2
我爲我的rails應用程序使用devise。我想添加用戶名字段,所以我添加了遷移到數據庫。 現在我想設計驗證唯一性的user_name字段,但我無法弄清楚如何做到這一點。 我也希望它顯示錯誤,因爲它使用默認的電子郵件字段。Rails和Devise-如何使用戶名遷移唯一併顯示錯誤(如果不是)?
我爲我的rails應用程序使用devise。我想添加用戶名字段,所以我添加了遷移到數據庫。 現在我想設計驗證唯一性的user_name字段,但我無法弄清楚如何做到這一點。 我也希望它顯示錯誤,因爲它使用默認的電子郵件字段。Rails和Devise-如何使用戶名遷移唯一併顯示錯誤(如果不是)?
就在User
模型添加驗證了user_name
validates :user_name, uniqueness: true
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) }
end
end
用戶模型代碼更改 - 添加驗證
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :username , uniqueness: {case_sesitive: false}
end