提交 78ea4c59 编写于 作者: K Kenta

Delegate some additional methods in querying.rb

上级 3c29836d
* Delegate `empty?`, `none?` and `one?`. Now they can be invoked as model class methods.
Example:
# When no record is found on the table
Topic.empty? # => true
Topic.none? # => true
# When only one record is found on the table
Topic.one? # => true
*Kenta Shirai*
* The form builder now properly displays values when passing a proc form
default to the attributes API.
......
module ActiveRecord
module Querying
delegate :find, :take, :take!, :first, :first!, :last, :last!, :exists?, :any?, :many?, to: :all
delegate :find, :take, :take!, :first, :first!, :last, :last!, :exists?, :any?, :many?, :empty?, :none?, :one?, to: :all
delegate :second, :second!, :third, :third!, :fourth, :fourth!, :fifth, :fifth!, :forty_two, :forty_two!, :third_to_last, :third_to_last!, :second_to_last, :second_to_last!, to: :all
delegate :first_or_create, :first_or_create!, :first_or_initialize, to: :all
delegate :find_or_create_by, :find_or_create_by!, :find_or_initialize_by, to: :all
......
......@@ -544,4 +544,24 @@ def test_subclass_merges_scopes_properly
assert_equal 1, SpecialComment.where(body: 'go crazy').created.count
end
def test_model_class_should_respond_to_empty
assert !Topic.empty?
Topic.delete_all
assert Topic.empty?
end
def test_model_class_should_respond_to_none
assert !Topic.none?
Topic.delete_all
assert Topic.none?
end
def test_model_class_should_respond_to_one
assert !Topic.one?
Topic.delete_all
assert !Topic.one?
Topic.create!
assert Topic.one?
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册