私は日付フィールドを持つデータベースにオブジェクトを持っていますが、時にはそれがnilになることはありません。私は文字列の値としてこれを表示することができますビュー内の方法です。多分、TBAのような何か?日付を使用しているときに、ゼロ値で何を行うことができますか?
答えて
<%= @event.date || "TBA" %>
とする必要があります。
あなたのコメントに応じて、はい、モデルでこれを行うことができますが、それは悪い考えです。どうして?
まず、データの表示については、その理由からビューに属しています。
第2に、それは物事を壊す可能性があります。あなたがモデルでそれをした場合、@event.date
は時には日付と時には文字列を返すことがあります。 @event.date.hour
とdate
をと呼んでいたらどうなりますか?あなたはエラーが発生します。唯一の修正点はどこでもそれを確認することです。恐ろしいことです。
あなたが本当にそれをあなたがこのような何かを見ることができるapplication_helper.rb
でのヘルパーメソッドを作成することができます多くのことをやってしようとしている場合:
def date_or_tba(date)
date || "TBA"
end
あなたは、あなたのビューで書くことができます:
<%= date_or_tba @event.date %>
を
文字列「TBA」の使用を1つの場所に限定することは、タイピングはそれほど重要ではありませんが、それを変更する必要がある場合(例えば18の目的など)は意味がありません。本当に簡単。
素晴らしいです。それはまさに私が後にしていることです。モデルでこれを行う方法はありますか?@ event.dateをどこにでも呼び出すと、どこにでも "TBA"として表示されますか? – Synthesezia
あなたはそうかもしれませんが、私はそれを強く勧告します。私は私の答えで詳しく説明します。 – Russell
OK、これはなぜ今は悪い考えです。ヘルパーを追加すると、行く方法のように思えます。ありがとう! – Synthesezia
- 1. 日付にNull値を渡すことができません
- 2. VBAオブジェクトが、私は、コードを実行したときに、VBAを使って、これまでに値を変換しようとしています日付
- 3. Javaでヒープオーバーフローが発生しているときに、何がメモリを使用しているかをどのように知ることができますか?
- 4. どのように私は、日付範囲用の汎用クエリを行うことができますか?
- 5. どうすれば '日付'列を '日付'と '時間'列に分けることができますか?
- 6. onBlurイベントでTextBoxの日付チェックを行うことはできますか?
- 7. 後で使用できるように日付を保存しようと苦労しています
- 8. 日付ピッカーと日付範囲選択ツールとして使用できるカレンダープラグ
- 9. put_time()を使用して先行スペースとゼロを削除するには、どのように日付を書式設定できますか?
- 10. 私はObjective-Cで次を使用して、今日の日付を取得することができるよ
- 11. sqlite3で日付をフォーマットすることはできますか?
- 12. UIAnimationを使用してこれを行うことはできますか?
- 13. VBAを使用して保護されたワークシートに貼り付けることはできませんが、手動で行うことができます
- 14. super()を使用したときに何が起きているのですか
- 15. 日付フィールドに「デフォルトを使用」にロールバックすることはできません
- 16. aspnet_regsqlを実行しているときに何が起こるのですか?
- 17. ブラウザがjqueryを使用しているときにフォーム値を「記憶」できるようにしますか?
- 18. オリジナルを使用しているときに複製bashスクリプトを実行することはできますか?
- 19. SAPUI5 - 日付ピッカーを設定することができます
- 20. Node.jsがJavascriptエンジンとしてRhinoを使用できるようにすることはできますか?
- 21. どのようにして2つの日付の違いを見つけることができますか?
- 22. 私のクラスでCarbonの日付を定数として使うことはできますか?
- 23. HttpClientを使用してHttpClientでポストリクエストを行うことができません。
- 24. エンドユーザーがJavaScriptを使用してイベントをトリガーできないようにすることはできますか?
- 25. read.csv()を使用してインポート時に日付を読み取ることができるas.Dateの日付形式を変更できません
- 26. ManualResetEventを使用してブール値を代用することができます
- 27. Xunit 2.3.0日付をインラインパラメータとして渡すことができません
- 28. moment.jsで日付を増やすことができません
- 29. Robot Frameworkを使用してクロスブラウザテストを行うことができます
- 30. containsを使用してオブジェクトプロパティの値と一致させることはできますか?私が使用することができます
<%= [email protected]? ? @日: "TBA"%> –