0

distance_of_time_in_words次のように拡張されたgem dotiwで使用しています:

<%= distance_of_time_in_words(@client.report_missing_after.days, Date.today, false, except: ["hours","minutes"])  %>

上記のコード@client.report_missing_afterと等しい場合7、期待どおり「7 日」が返されます。これ@client.report_missing_afterは 1 ~ 28 に等しい場合は正常に機能しますが、突然 29 に達すると出力は次のようになります。

87847649280000 years and 238878720000 days

これは正しくありません。

ここでどこが間違っているのかわかりません。ヘルプ?

アップデート:

コメントごとに、最初の引数を整数として渡そうとしましたが、まだ機能しません:

<%= distance_of_time_in_words(29.days ,0, false, except: ["hours","minutes"]) %>
4

2 に答える 2

0

distance_of_time_in_words は、適切に使用するとうまく機能することがわかります。適切に使用すると、datetime オブジェクトではなくタイムスタンプが使用されます。

これは私のために働いたものです:

<%= distance_of_time_in_words(Time.now, Time.now+29.days, false, except ["hours","minutes"]) %>
于 2013-03-29T23:49:23.230 に答える
0

日を明示的に渡そうとしましたか?

29.days

var.days
于 2013-03-16T11:40:03.623 に答える