Hai un'azione di aggiornamento per una risorsa. Come regola approssimativa una tabella nel tuo database sarà una risorsa. Quindi nel tuo esempio c'è un controller per il Cliente con un'azione di aggiornamento e i campi sono facoltativi il più possibile.
Ci possono essere delle eccezioni (ad esempio se aggiorni la password che ti aspetti password e password_confirmation), ma ciò è vero per la maggior parte dei casi.
È più probabile che le eccezioni siano controller che hanno azioni limitate per alcune risorse, come un SessionsController che può essere creato e distrutto. È molto improbabile che tu voglia avere azioni per singoli campi.
Nel tuo esempio una cosa può essere gestita come una risorsa propria e questo è l'indirizzo. Se avessi una tabella per gli indirizzi, soprattutto se ci fosse più di un indirizzo per cliente (fatturazione, consegna ...), questa potrebbe essere gestita come risorsa nidificata. Ma di nuovo un'azione di aggiornamento per l'intera risorsa di indirizzo.