Ruby on rails ruby中的代理是什么?
我一直在浏览rails的源代码,发现有很多提到“委派” 这是做什么用的?它是如何工作的?以下是: 委托(*方法)公共 提供委托类方法,以便轻松地将包含对象的公共方法公开为您自己的方法Ruby on rails ruby中的代理是什么?,ruby-on-rails,ruby,oop,delegates,Ruby On Rails,Ruby,Oop,Delegates,我一直在浏览rails的源代码,发现有很多提到“委派” 这是做什么用的?它是如何工作的?以下是: 委托(*方法)公共 提供委托类方法,以便轻松地将包含对象的公共方法公开为您自己的方法 class迎宾员NoMethodError:for的未定义方法“再见”# 下面是一些关于它如何与示例一起工作的其他解释: 学员可帮助您保持在LoD内,而无需制动SRP class Greeter < ActiveRecord::Base def hello 'hello' end
class迎宾员“你好”
Foo.new.bye#=>NoMethodError:for的未定义方法“再见”#
下面是一些关于它如何与示例一起工作的其他解释:
学员可帮助您保持在LoD内,而无需制动SRP
class Greeter < ActiveRecord::Base
def hello
'hello'
end
def goodbye
'goodbye'
end
end
class Foo < ActiveRecord::Base
belongs_to :greeter
delegate :hello, to: :greeter
end
Foo.new.hello # => "hello"
Foo.new.goodbye # => NoMethodError: undefined method `goodbye' for #<Foo:0x1af30c>