2016-07-15 6 views
0

私はユーザ入力「6ヶ月」をRubyメソッド6.monthsに変換しようとしています。受信機なしでRubyのsendメソッドを使用するには?

どうすればいいですか?

私はラインに任意のヘルプ10

感謝をundefined method 6.monthsエラーを取得しておきます。

class Coupon < ActiveRecord::Base 

    def self.duration_options 
    ["3 years", "2 years", "1 year", "6 months", "3 months", "1 month"] 
    end 

    def end_at 
    if Coupon.duration_options.include?(duration) 
     method = duration.sub!(' ', '.') 
     time = Time.zone.now + send(method) 
    end 
    time 
    end 

end 

答えて

2

あなたsend、この場合には、それはあなたがこの

if Coupon.duration_options.include?(duration) 
    off_set = duration.split(" ") 
    time = Time.zone.now + off_set.first.to_i.send(off_set.last.to_sym) 
end 
time 
のように行うことができ self.send(method)

だ、オブジェクト自体であります

関連する問題