Properly check for a pre-existing error in `User#namespace_uniq`
Rails adds an empty error to the Errors object even if you just call `#[]` on it: ``` [1] pry(main)> u = User.last [2] pry(main)> u.errors.keys => [] [3] pry(main)> u.errors[:username].present? => false [4] pry(main)> u.errors.keys => [:username] ```
This commit is contained in:
parent
e5276ee6ab
commit
128757a7f9
|
@ -372,7 +372,8 @@ class User < ActiveRecord::Base
|
|||
|
||||
def namespace_uniq
|
||||
# Return early if username already failed the first uniqueness validation
|
||||
return if self.errors[:username].include?('has already been taken')
|
||||
return if self.errors.key?(:username) &&
|
||||
self.errors[:username].include?('has already been taken')
|
||||
|
||||
namespace_name = self.username
|
||||
existing_namespace = Namespace.by_path(namespace_name)
|
||||
|
|
Loading…
Reference in New Issue