2016-04-28 9 views
1

私はこのような将来の日付を計算したいと思います:将来の日付はに1 monthまたは1 yearにする必要がある場合には、判断するにのRails:「文字列」としてデータベースに格納されている時刻識別子を使用して時刻を計算し

Date.today + 1.year 
Date.today + 1.month 

を将来私はdurationをデータベースから要求します。 durationの値は文字列として保存されます。

end_date = Date.today + 1.Duration.find(order.duration_id).duration 

私は次のように上記のコードが実行されると信じている:

Date.today + 1."year" #the quotes cause an error 

は、どのように私は引用符を削除しますか?

答えて

2

1.yearの方法では、:year1のインスタンスメソッドです。ルビーでは、オブジェクト上で任意のメソッドを評価するために、あなたはちょうどあなたが文字列として、あなたの時間を持っている場合は、あなたが実際の期間を評価するために:sendを使用することができますsend('method_name')またはsend(:method_name)

を使用します。

duration = "year" 
1.send(duration) == 1.year 
+0

を本当にありがとうございました迅速な対応のために。できます! –

関連する問題