Дух ручки полягає в тому, що це "logicless". Іноді це дає нам відчути, що ми боремося з цим, а іноді ми стикаємось з потворною вкладеною логікою if / else. Ви могли написати помічника; багато людей збільшують рульове управління з «кращим» умовним оператором або вважають, що воно повинно бути частиною ядра . Я думаю, що замість цього,
{{#if FriendStatus.IsFriend}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></div>
{{else}}
{{#if FriendStatus.FriendRequested}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></div>
{{else}}
<div class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></div>
{{/if}}
{{/if}}
ви можете розташувати речі у вашій моделі, щоб ви могли мати це,
{{#if is_friend }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></div>
{{/if}}
{{#if is_not_friend_yet }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></div>
{{/if}}
{{#if will_never_be_my_friend }}
<div class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></div>
{{/if}}
Просто переконайтесь, що лише один із цих прапорів коли-небудь справжній. Швидше за все, якщо ви цим користуєтесьif/elsif/else
у вашому представленні, ви, ймовірно, використовуєте його ще десь, тому ці змінні можуть бути не зайвими.
Тримайте його нахилом.