Ruby on rails 在rails中,如何委托给类方法 类任务日期。今天。每周的开始日期。日期。今天。每周的结束) 结束 结束 类重要:taskable,:dependent=>:destroy 本周委派:至=>:任务 结束
到目前为止,当我尝试Ruby on rails 在rails中,如何委托给类方法 类任务日期。今天。每周的开始日期。日期。今天。每周的结束) 结束 结束 类重要:taskable,:dependent=>:destroy 本周委派:至=>:任务 结束,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,到目前为止,当我尝试重要。本周时,此代理未按预期工作。我收到一个错误,说本周没有为类定义方法 有什么想法吗?我甚至可以委托给这样的类方法吗?我可能会有另外一两个类以这种方式扩展任务,所以我很好奇它是如何工作的,不会将一堆代码复制到每个实现类中。您正在学习。delegatehelper为当前类定义了一个实例方法,以便它的实例委托调用该实例上的某个变量 如果要在类级别委派,则需要打开singleton类并在其中设置委派: class Important < ActiveRecord::Base
重要。本周
时,此代理未按预期工作。我收到一个错误,说本周没有为类定义方法
有什么想法吗?我甚至可以委托给这样的类方法吗?我可能会有另外一两个类以这种方式扩展任务,所以我很好奇它是如何工作的,不会将一堆代码复制到每个实现类中。您正在学习。delegate
helper为当前类定义了一个实例方法,以便它的实例委托调用该实例上的某个变量
如果要在类级别委派,则需要打开singleton类并在其中设置委派:
class Important < ActiveRecord::Base
attr_accessible :email
has_one :task, :as => :taskable, :dependent => :destroy
class << self
delegate :this_week, :to => :task
end
end
您可以将一个方法委托给一个常量——它只区分大小写。此外,方法的名称必须作为符号传递给委托
class Important < ActiveRecord::Base
delegate :this_week, :to => :Task
# Note ':this_week' instead of 'this_week'
# Note 'Task' instead of 'task'
end
class-Important:任务
#注:本周而非本周
#注意“任务”而不是“任务”
结束
考虑继承性,将方法委托给类方法:
delegate :this_week, :to => :class
您可以委托给这样的特定类(另请参见Isaac Betesh的回答):
可在以下位置获取文档:
我认为,当你说本周委派,:to=>:task
时,Rails认为这意味着“当有人调用本周
一个重要的:task
对象的本周
方法时,返回该重要的:task
对象的本周
方法的值。”,清洁的很好
delegate :this_week, :to => :class
delegate :this_week, :to => :Task