1

私はこのような条件文のビューを持っています

#{list items: allTasks, as: 'task'}
<div class="task grid_12">

    #{list items:allClients, as: 'client' }
        <div class="client grid_1">

            #{list items:allTasksDone, as: 'taskDone'}

                #{if task.name==taskDone.task.name && client.name ==taskDone.client.name}
                    Done
                #{/if}
                #{else}
                    Not yet
                #{/else}
            #{/list}
        </div>
    #{/list}
</div>
#{/list}

ただし、結果は次のようになります。条件が真の場合は「まだ完了していません」と表示され、条件が偽の場合は「まだ完了していません」と表示されます。
結果は2倍に見えました。
これを修正する方法は?

4

1 に答える 1

1

パラコに感謝します。はい、ループ変数「taskDone」が原因です。私は自分のコードを以下のようにチェックして修正しました、そしてそれは完了しました:

<div class="task grid_24">
<div class="client grid_3">
Task/Client
</div>
#{list items:allClients, as: 'client' }
<div class="client grid_2">
${client.name} </div>
#{/list}
</div>


#{list items: allTasks, as: 'task'}
<div class="task grid_24">
    <div class="client grid_3">
        ${task.name}
    </div>

    #{list items:allClients, as: 'client' }
    %{
        i =0;
        }%
        <div class="client grid_2">
            #{list items:allTasksDone, as: 'taskDone'}

                #{if (taskDone.task == task && taskDone.client == client )}
                %{
                    i++;
                    }%
                #{/if}


            #{/list}
        <div class="taskStatus grid_2">
        #{if i>0}Done#{/if}
            #{else } Not yet#{/else}
        </div>
        </div>

    #{/list}
</div>
#{/list}
于 2013-01-12T10:09:13.987 に答える