Ho un modulo di registrazione che ha associazioni/attributi nidificati qualunque sia il nome che si desidera chiamare.Rails: eliminazione degli errori di convalida generici "X non valido"
mio Gerarchia è questo:
class User < ActiveRecord::Base
acts_as_authentic
belongs_to :user_role, :polymorphic => true
end
class Customer < ActiveRecord::Base
has_one :user, :as => :user_role, :dependent => :destroy
accepts_nested_attributes_for :user, :allow_destroy => true
validates_associated :user
end
class Employee < ActiveRecord::Base
has_one :user, :as => :user_role, :dependent => :destroy
accepts_nested_attributes_for :user, :allow_destroy => true
validates_associated :user
end
ho alcune cose convalida in queste classi pure. Il mio problema è che se provo a creare e Cliente (o Dipendente ecc.) Con un modulo vuoto ottengo tutti gli errori di validazione che dovrei ottenere più alcuni Generici come "L'utente non è valido" e "Il cliente non è valido" Se eseguo l'iterazione gli errori che ottenere qualcosa di simile:
user.login can't be blank
User is invalid
customer.whatever is blah blah blah...etc
customer.some_other_error etc etc
Poiché non v'è almeno un campo non valido nel modello User nidificato, un extra di "X non è valido" si aggiunge messaggio alla lista degli errori. Questo confonde il mio cliente e quindi mi chiedo se c'è un modo rapido per farlo, invece di dover filtrare da solo gli errori.
Inoltre, ho proposto una richiesta di funzionalità come soluzione migliore di questo work-around: https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/5632-validates_associated-should-be-allowed -to-not-create-an-error # ticket-5632-2 – DJTripleThreat
Ricevo l'errore "nessuna conversione implicita di Symbol in String" – Chemist
@Chemist questo funzionava per una versione precedente di rails. Prova a modificare il codice fornito in modo che funzioni correttamente con la versione che stai utilizzando. – DJTripleThreat