O espírito do guidão é que ele é "sem lógica". Às vezes, isso nos faz sentir como se estivéssemos lutando com ela, e às vezes acabamos com uma lógica if / else aninhada feia. Você poderia escrever um ajudante; muitas pessoas aumentam o guidão com um operador condicional "melhor" ou acreditam que ele deve fazer parte do núcleo . Eu acho que, em vez disso,
{{#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}}
convém organizar as coisas no seu modelo para que você possa ter isso,
{{#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}}
Apenas certifique-se de que apenas uma dessas bandeiras seja verdadeira. As chances são de que, se você estiver usando isso if/elsif/else
na sua visualização, provavelmente também o estiver usando em outro lugar, portanto, essas variáveis podem não acabar sendo supérfluas.
Mantenha-o magro.