В active_record / base.rb, module ActiveRecord
вы можете увидеть этот код:
delegate :find, :first, :last, :all, :destroy, :destroy_all, :exists?, :delete,
:delete_all, :update, :update_all, :to => :scoped
Давайте возьмем метод first
, поэтому я предположил, что метод first
делегирует метод scoped
итогда scoped
должен вернуть первую запись из базы данных.Но scoped
это просто аноним scope
, как текущая конструкция делает свою работу?
В то же время, как работают динамические методы, такие как find_by_name
, find_all_by_name_and_colour
?
Спасибо