2017-02-02 3 views
1

Ich mache Validierungen wie folgt: validates :name_user, presence: true Aber ich möchte den Namen des Feldes "name_user" in der Nachricht ändern: "Spalte name_user kann nicht leer sein" erscheint "Spalte Vorname kann nicht leer sein "So benennen Sie die Tabelle in Validierungen um

+0

http://guides.rubyonrails.org/active_record_validations.html#validation-helpers –

+2

Warum sollte man die Vorname-Spalte 'name_user' und nicht' first_name' oder 'forename' an erster Stelle aufrufen? – max

Antwort

4

richte eine Übersetzung für" name_user "in deinen Locales ein. Sie können sowohl den Namen des Feldes als auch den genauen Wortlaut der Fehlermeldung ändern.

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     name_user: "First name" 
    errors: 
     models: 
     user: 
      attributes: 
      name_user: 
       blank: "is required" 

Sie können es für zusätzliche Felder erweitern und auch andere Modelle ...

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     name_user: "First name" 
     surname_user: "Last name" 
     department: 
     created_year: "Year established" 
    errors: 
     models: 
     user: 
      attributes: 
      name_user: 
       blank: "is required" 
+0

danke für die antwort. Wenn ich das für mehrere Modelle tun müsste, könnte ich sie alle in den gleichen Block aufnehmen oder müsste ich für jeden einen Block machen? – LuisC

+0

Ich habe die Antwort geändert, um zu zeigen, wie Sie mit mehr Feldern und Modellen umgehen. – SteveTurczyn

+0

vielen Dank mein Freund, diese Arbeit – LuisC

1

können Sie verwenden, um die message Option für diese, wie here in den Führungsschienen beschrieben.

validates :name_user, presence: { message: "First name cannot be blank" } 

Jetzt werden alle Ihre Fehler so seltsam verwenden. Sie können sogar auf den Wert verweisen, der übergeben wurde (wie im Rails-Handbuch beschrieben).

+1

Wird es funktionieren? Soviel ich weiß, wird eine Nachricht wie diese angezeigt: "Vorname des Benutzers darf nicht leer sein". Es verkettet den Spaltennamen und die Nachricht – Anwar

Verwandte Themen