Você tem uma ação de atualização para um recurso. Como regra geral, uma tabela no seu banco de dados será um recurso. Portanto, no seu exemplo, há um controlador para o Cliente com uma ação de atualização e os campos são opcionais na medida do possível.
Pode haver exceções a isso (por exemplo, se você atualizar a senha que você espera password & password_confirmation), mas isso é válido na maioria dos casos.
É mais provável que as exceções sejam controladores que tenham ações limitadas para alguns recursos, como um SessionsController que só pode ser criado e destruído. É muito improvável que você deseje ter ações para campos únicos.
No seu exemplo, uma coisa pode ser tratada como um recurso próprio e esse é o endereço. Se você tivesse uma tabela para endereços, especialmente se houvesse mais de um endereço por cliente (cobrança, entrega ...), isso poderia ser tratado como um recurso aninhado. Mais uma vez, uma ação de atualização para todo o recurso de endereço.