time_ago_in_wordsの文字列とActiveSupport :: Durationの比較に失敗しました
-
22-07-2019 - |
質問
time_ago_in_words
を使用しようとすると、このエラーが表示されます:
Comparison of String with ActiveSupport::Duration failed
オブジェクトが8分以上前に作成されたかどうかを確認しようとしています:
<% if time_ago_in_words(obj.created_at) > 8.minutes %>
<p>Yes</p>
<% end %>
このテストを実行する正しい方法を知っている人がいれば感謝します。
解決
time_ago_in_words
は、UIで使用されるフレーズを返します。日付を相互に比較する場合は、ユーザーフレンドリな文字列に変換する前に日付を比較する必要があります。
また、リンゴとリンゴを比較するために minutes.ago
を使用したことに注意してください。
<% if obj.created_at > 8.minutes.ago %>
Within the last 8 minutes
<% else %>
Longer than 8 minutes ago
<% end %>
所属していません StackOverflow