我爲我的註冊過程使用Devise gem - 我只希望電子郵件是必需的,所以我爲每個用戶自動生成一個密碼。Rails設計Auto_Gen密碼
出於某種原因,我的代碼正在爲單個用戶創建2個數據庫條目。一個 - 帶有電子郵件地址。一個 - 只有加密的密碼。
User.rb
password = Devise.friendly_token
User.create!(:email => @current_user_email, :id => @current_user_id, :password => password, :password_confirmation => password)
before_save { |user| user.email = email.downcase }
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false }
你爲什麼要指定引發異常'id'?在幾乎所有情況下,'id'列應該由數據庫自動設置。另外,我假設前2排在控制器中,最下面3排在模型中? 「@ current_user_email」等變量來自哪裏? –
我正在指定id,看它是否會正確傳遞'current_user'參數(來自Devise的幫助程序)。我在模型中使用了所有這些代碼。 – abhir