次のような出力を繰り返す行があります: Call John Jones in -3 days (status)
特定の電子メールがその特定の連絡先に送信されたかどうかを出力する show_status(contact,email) というヘルパーがあります。
「送信」されている場合、その行全体が「三振」として表示されます。
同様に、日数が -3 (<0) の場合、行は赤でフォーマットする必要があります。
これが私のハックですが、ロジックをコントローラーに入れるためのよりクリーンな方法が必要ですか?
書式設定する行をラップする値をハードコーディングし、同じヘルパーへの別の呼び出しに基づいて値を割り当てます。
<% for call in @campaign.calls %>
<% if !show_call_status(@contact,call).blank? %>
<%= strike_start = '<s>'%>
<%= strike_end = '</s>' %>
<% end %>
<p>
<%= strike_start %>
<%= link_to call.title, call_path(call) %> on
<%= (@contact.date_entered + call.days).to_s(:long) %> in <%= interval_email(@contact,call) %>
days
<%= make_call(@contact,call) %>
<span class='status'><%= show_call_status(@contact,call) %></span>
<%= strike_end %>
</p>
<% end %>
私がやりたいことは、ビューに if ステートメントがないことだと思います。これを行う方法がわからない。