Skip to content


Subversion checkout URL

You can clone with
Download ZIP


attribute_present? incorrectly returns true for empty strings #5314

Jacobkg opened this Issue · 0 comments

2 participants


The specification for attribute_present? says that it should return false if the attribute is nil or empty:

"Returns true if the specified attribute has been set by the user or by a database load and is neither nil nor empty? (the latter only applies to objects that respond to empty?, most notably Strings)."

However, the code is here:

def attribute_present?(attribute)
value = read_attribute(attribute)
!value.nil? || (value.respond_to?(:empty?) && !value.empty?)

The part that reads !value.nil? will return true for empty strings, and since it is an OR, will ignore the second part.

@josevalim josevalim closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.