2012-11-15 3 views
16

Sono di fronte a un problema che mostra i messaggi di errore nell'amministratore attivo.Visualizzazione dei messaggi di errore nell'amministratore attivo per molte tabelle delle relazioni

Ricevo tutti i messaggi di errore visualizzati con i campi nel modulo. Ma nel codice qui sotto, ho bisogno di almeno una abilità e massimo 5 abilità da aggiungere. Altrimenti è necessario lanciare un messaggio di errore.

Ho una validazione a modello come:

convalida: competenze,: lunghezza => {: minimo => 1,: massima => 5, : message => "dovrebbe essere atleast 1 e meno di 5 "}

Convalida perfettamente, ma non viene visualizzato alcun messaggio di errore.

Qualcuno può aiutarmi con la visualizzazione del messaggio di errore.

seguito è il codice:

form :html => { :enctype => "multipart/form-data" } do |f| 

    f.inputs "User", :multipart => true do 

     f.input :name 
     f.input :email, :as => :email 
     f.input :profile_name 
     f.input :date_of_birth 
     f.input :gender, :as => :select, :collection => Gender::GENDERS 
     end 
     f.inputs "Skills* (minimum 1 & maximum 5)" do 
     f.has_many :skills do |p| 
      if !p.object.nil? 
      # show the destroy checkbox only if it is an existing appointment 
      # else, there's already dynamic JS to add/remove new appointments 
      p.input :_destroy, :as => :boolean, :label => "Destroy?", 
        :hint => "Check this checkbox, if you want to delete this field." 
      end 
      p.input :description 
      p.input :title 
     end 
     end 
    end 
    end 

risposta

32

activeadmin 0.5.1 è disponibile su GitHub. contiene riga successiva changelog

"Aggiungere il supporto per gli errori semantici # 905 da @robdiciuccio"

qui è tirare richiesta con questa caratteristica https://github.com/gregbell/active_admin/pull/905

esempio

form do |f| 
    f.semantic_errors *f.object.errors.keys 
    f.inputs 
    f.inputs "Locations" do 
    f.has_many :locations do |loc| 
     loc.input :address 
     loc.input :_destroy, :as => :boolean, :label => "Delete" 
    end 
    end 
    f.buttons 
end 

per usarlo aggiungere a Gemfile

+0

Questo ha aiutato .. Grazie @Fivell –

+0

'semantic_errors' su misura per una maggiore personalizzazione sotto seguenti moduli Formtastic :: Helpers :: ErrorsHelper Opere secondo il requisito ora. Grazie a @Fivell –

0

Per il passaggio di convalida provare questo

validates_length_of :skills, 
    :within => 1..5, 
    :too_short => 'too short message', 
    :too_long => 'too long message' 
+0

Hey Dipak, Grazie. Questo funziona bene per quanto riguarda le convalide. Volevo solo sapere se possiamo mostrarlo nell'interfaccia utente (modulo), con il flusso activeadmin predefinito. –