instance method
attribute_present?
Ruby on Rails 8.1.2
Since v4.0.13Signature
attribute_present?(attr_name)
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). Otherwise, false. Note that it always returns true with boolean attributes.
class Task < ActiveRecord::Base end task = Task.new(title: '', is_done: false) task.attribute_present?(:title) # => false task.attribute_present?(:is_done) # => true task.title = 'Buy milk' task.is_done = true task.attribute_present?(:title) # => true task.attribute_present?(:is_done) # => true
Parameters
-
attr_namereq
Source
# File activerecord/lib/active_record/attribute_methods.rb, line 387
def attribute_present?(attr_name)
attr_name = attr_name.to_s
attr_name = self.class.attribute_aliases[attr_name] || attr_name
value = _read_attribute(attr_name)
!value.nil? && !(value.respond_to?(:empty?) && value.empty?)
end
Defined in activerecord/lib/active_record/attribute_methods.rb line 387
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::AttributeMethods