我有一个带委托方法的模型,
:caption:
由于底层模型(目前为class Card < ApplicationRecord
has_one :meta_sm2
delegate :next_repetition,
to: :meta_sm2
end
)将来可能会发生变化,因此我希望将委托方法meta_sm2
设置为自定义名称,例如next_repetition
。
如何定义自定义名称委托方法,以便我可以像priority
一样调用next_repetition
?
答案 0 :(得分:8)
您可以使用alias_method来实现此目的。
class Card < ApplicationRecord
has_one :meta_sm2
delegate :next_repetition,
to: :meta_sm2
alias_method :priority, :next_repetition
end