こんなに単純なことで問題が発生する理由はわかりませんが、この条件ステートメントは機能していません。
@battalion = Battalion.find(params[:id])
@soldier = @battalion.soldiers(:conditions => ["seniorleader = ?", "No"])
これは兵士の配列を示していますが、設定した条件を反映していません。
本当に単純な間違いをしていると確信していますが、それが何であるかを理解できないようです。
どんな助けでも大歓迎です。