tutti!Ruby on Rails Interpolazione I18n
Ho una piccola convalida per il mio campo nome utente, che dovrebbe essere compreso tra 4 e 30 caratteri. Ho scritto una convalida: :length => { :within => 4..30, :message => I18n.t('activerecord.errors.range')
- Volevo visualizzare un singolo messaggio di errore per tutti i tipi di errori (Non mi piace troppo_long o troppo_short), ma ecco la domanda: posso passare entrambi i valori minimo e massimo alla traduzione, per avere qualcosa di simile : Il nome utente deve essere compreso tra 4 e 30 caratteri. Attualmente ho: range: "should be between %{count} and %{count} characters"
, che ovviamente non funziona (fatto solo per il controllo).
È possibile afferrare questi valori dall'intervallo?
Grazie a tutti in consiglio!
Yay! Ho capito:: length => {: within => a = (4..30),: message => I18n.t ('activerecord.errors.range', : min => a.min,: max = > a.max)} Grazie per l'idea! :) Spero che questo possa essere d'aiuto a qualcuno! – Dmitri