unless @client.nil?
TestMailer.snap_shot_error("test1","Errors",
{:file_name => File.basename(upload_file),:client_name => @client.client_name})
else
TestMailer.snap_shot_error("test1","Errors",
{:file_name => File.basename(upload_file))
end
def snap_shot_error(to_address,subject,options={})
# code
end
<% if @client_name %>
<%= _("There were problems with file ") + @file_name + _(" for client ") + @client_name %>
<% else %>
<%= _("There were problems with file ") + @file_name %>
<% end %>
1
A
答えて
3
これらのクエストインの両方で、3項演算子を使用できます。
condition ? value_if_true : value_if_false
これは式(別の値を生成する値と演算子のシーケンス)です。条件が真であるか偽であるかを判定し、条件が真である場合は最初の値(?の後と:)の前に評価され、条件が偽である場合は、次の値(=
だから、あなたが投稿最初のコード例のために、あなたがこれを行うことができます:
TestMailer.snap_shot_error("test1", "Errors",
:file_name => File.basename(upload_file),
:client_name => @client ? @client.client_name : nil)
を[私はオプションの周りの中括弧を削除したことに注意してください - Rubyで最終的に必要がありませんオプションには、ハッシュ、]
それとも何らかの理由であなたもゼロたくない場合は、それらをオフに残すために慣用的である:
TestMailer.snap_shot_error("test1", "Errors",
{:file_name => File.basename(upload_file)}.merge(
@client ? { :client_name => @client.client_name } : {}))
:ハッシュでCLIENT_NAMEを、あなたは三項演算子とマージを使用することができますが
ビューのために、あなたはまた、三項演算子を使用することができます:あなたはそれもしてはならないことを要求した理由
<%= _("There were problems with file ") + @file_name +
(@client_name ? _(" for client ") + @client_name : '') %>
そして今、私はあなたが@client_nameでやっているものを見ることを、私は表示されませんハッシュ。私が投稿した最初のコード例は、 ":client_name => @ client.client_name"にクライアントがあり、クライアントがなければ ":client_name => nil"を渡します。パスしない理由は何もありません:client_nameは、単にnil:client_nameを渡すのではなく、client_nameです。
関連する問題
- 1. TFS 2008プロジェクトファイルの不適切な状態
- 2. React:状態のオブジェクトの配列を更新する適切な方法
- 3. 状態値を格納するためのReduxの適切な場所/方法
- 4. このPHPの条件文を書くための適切な方法
- 5. React Native:状態を適切に設定してください
- 6. メソッドを書くための適切な方法
- 7. このコードを書くより効率的/適切な方法は?
- 8. プレゼンターレイヤーに適切なアンドロイドユニットテストを書く方法
- 9. 初期化関数を書く適切な方法
- 10. フラグメントからのインスタンス状態の適切な使用
- 11. 設定トラッキング状態を呼び出す適切な場所
- 12. LocationSettingsResult - getStatusが設定状態を適切に検出しない
- 13. これらのクエリを単一のステートメントに最も適切に書く方法
- 14. 状態を失うことなくフラグメントを切り替える一般的な方法
- 15. IF文を書く最適な方法
- 16. 適切な方法
- 17. 適切な方法
- 18. 適切な方法
- 19. 適切な方法
- 20. 適切な方法
- 21. どのような状態を使用する適切な方法です対小道具
- 22. 適切なヌル安全な結合演算子をスカラーに書く方法は?
- 23. データの状態を失うことなく前のページに戻る方法は?
- 24. 待つことなく未来の状態をポーリングする方法?
- 25. オブジェクトの状態/内容を適切に変更するイテレータの使用法(php)
- 26. 反応成分クラスを状態なしで定義する適切な方法は何ですか?
- 27. データベーストランザクションレベルを読み取りからコミットされていない状態に復元する適切な方法
- 28. コーディングの適切な方法
- 29. 2つの反応成分の間に状態を設定する適切な方法
- 30. TCPソケットの切断状態を検出する方法
私はオプションでclient_nameキーを渡したくありません。 @clientが利用できない場合 –
@krunal shah、私は実際にその可能性について説明するために自分の投稿を更新しました。アップデートを参照してください。 –
お返事ありがとうございます。私の見解で同じ問題を解決するにはどうすればいいですか?私は私の質問を更新しました。 –