例えば、なぜ日付ヘルパーは次のように書かれています:なぜレールヘルパーはオブジェクト指向ではありませんか?
time_ago_in_words(@from_time)
の代わりに、次のように:
@from_time.time_ago_in_words
が、これは明確な設計ミス/矛盾ですか?それとも何らかの理由がありますか?
例えば、なぜ日付ヘルパーは次のように書かれています:なぜレールヘルパーはオブジェクト指向ではありませんか?
time_ago_in_words(@from_time)
の代わりに、次のように:
@from_time.time_ago_in_words
が、これは明確な設計ミス/矛盾ですか?それとも何らかの理由がありますか?
大きな質問!
ほとんどのヘルパーは、日付/時刻を選択するためのものです。
http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html
私はそれがutilのメソッドのカップルを望んでいたので、選択して自分のヘルパーにtime_ago_in_wordsとdistance_of_time_in_wordsを追加書いた人は誰でも推測しています。
time_ago_in_wordsとdistance_of_time_in_wordsがフォーカスされている(つまり、ローカライズしたいかもしれない)ので、開発者はヘルパーが彼らのために悪い場所ではないと感じるかもしれません。
ヘルパーは、表示しているオブジェクトではなく、ビューオブジェクトのメソッドです。これは、ビューが特定のフォーマットでデータを表示しているため、モデルをそのフォーマットに変換することを担当しているため、オブジェクト指向の意味で意味があります。
"to_s"はプレゼンテーション中心で、ローカライズしたいかもしれませんが、to_s(@from_time)ではなくfrom_time.to_sをやっています。 。 –
私は同意する - 私は言葉を多分使った;)私の答えをより一般的にするように更新した! – RichH