2017-02-18 6 views
0

Rails 5でデリゲートメソッドのカスタム名を定義する方法は?私は、デリゲートメソッドでモデルを持っている

class Card < ApplicationRecord 
    has_one :meta_sm2 

    delegate :next_repetition, 
      to: :meta_sm2 
end 

基礎となるモデルは、(現在はmeta_sm2です)将来的に変更される可能性があるので、私はpriorityのように、カスタム名にデリゲートメソッドnext_repetitionをしたいと思いますので例えば。

next_repetitioncard.priorityのように呼び出せるように、カスタム名代理メソッドをどのように定義できますか?

+0

カスタム名をどのように呼び出すとしますか?私。私は 'カード'クラスのオブジェクトを 'カード'と呼んでいます。 –

+0

質問を更新しました –

答えて

5

これを実現するには、alias_methodを使用できます。

class Card < ApplicationRecord 
    has_one :meta_sm2 

    delegate :next_repetition, 
      to: :meta_sm2 

alias_method :priority, :next_repetition 

end 
関連する問題