Active Record Attribute Methods Query¶ ↑
为属性添加查询方法,根据属性类型和值返回 true 或 false。
对于布尔(Boolean)属性,如果值存在则返回 true,否则返回 false。
class Product < ActiveRecord::Base end product = Product.new(archived: false) product.archived? # => false product.archived = true product.archived? # => true
对于 Numeric 属性,如果值为非零数字则返回 true,否则返回 false。
product.inventory_count = 0 product.inventory_count? # => false product.inventory_count = 1 product.inventory_count? # => true
对于其他属性,如果值存在则返回 true,否则返回 false。
product.name = nil product.name? # => false product.name = " " product.name? # => false product.name = "Orange" product.name? # => true
方法
实例公共方法
query_attribute(attr_name) Link
根据属性类型和值,为由 attr_name 标识的属性返回 true 或 false。
别名也为: attribute?
Source: 显示 | 在 GitHub 上
# File activerecord/lib/active_record/attribute_methods/query.rb, line 47 def query_attribute(attr_name) value = self.public_send(attr_name) query_cast_attribute(attr_name, value) end