este bloquesito esta demasiado complejo para panerlo en una vista, la que le recomiendo es hacer un helper que le retorne el nombre del partial que debe pintar y dentro de ese helper poner el 'if' y los dos operaciones que esta haciendo en las lineas 126,127. El partios tendria las lineas 128-131. Obviamente debera poner pruebas.