Rails überschreiben die Validierungsnachricht

8

Ich möchte keinen gültigen Wert in der Validierungsnachricht sehen.

%Vor%

Ergebnis: "Der Titel wurde bereits vergeben" Ich will: "Event # {event} wurde bereits von # {user}"

übernommen

Ich versuche es auf diese Weise, Brötchen funktioniert nicht:

%Vor%     
murato 12.11.2010, 18:03
quelle

4 Antworten

11
___ answer4167776 ___

verwende ein Lambda:

%Vor%     
___ qstntxt ___

Ich möchte keinen gültigen Wert in der Validierungsnachricht sehen.

%Vor%

Ergebnis: "Der Titel wurde bereits vergeben" Ich will: "Event # {event} wurde bereits von # {user}"

übernommen

Ich versuche es auf diese Weise, Brötchen funktioniert nicht:

%Vor%     
___ answer18392648 ___

Verwenden Sie ein Lambda, aber zumindest in neueren Versionen von Rails wird ActiveRecord versuchen, zwei Parameter an dieses Lambda zu übergeben, und es muss sie berücksichtigen. Verwenden wir ein einfacheres Beispiel, sagen wir, dass wir sicherstellen wollen, dass ein Benutzername nur alphanumerische Zeichen enthält:

%Vor%

Der erste Parameter, der an das Lambda übergeben wird, ist ein seltsames, nicht ganz so kleines Symbol, das großartig wäre, um einem Roboter zu sagen, was schief gelaufen ist:

%Vor%

(Falls Sie durch die obige Notation verwirrt sind, können Symbole mehr als nur Buchstaben, Zahlen und Unterstriche enthalten. Falls doch, müssen Sie sie in Anführungszeichen setzen, da sonst %code% aussieht Sie versuchen, die Methode %code% für ein Symbol namens %code% aufzurufen.)

Der zweite Parameter enthält einen Hash mit den Feldern, die Ihnen helfen, Ihre Fehlerreaktion zu verbessern. Wenn ich versuche, einen Benutzernamen mit Interpunktion wie "Superstar !!!" hinzuzufügen, sieht das etwa so aus:

%Vor%     
___ answer5197749 ___

Nun, eigentlich ist es in Rails 3.x weder% {{Wert}} noch {{Wert}}, sondern% {Wert}.

    
___ tag123rubyonrails ___ Ruby on Rails ist ein Open-Source-Full-Stack-Webanwendungs-Framework, das in Ruby geschrieben ist. Es folgt dem populären MVC-Framework-Modell und ist bekannt für seinen "convention over configuration" -Ansatz für die Anwendungsentwicklung. ___ qstnhdr ___ Rails überschreiben die Validierungsnachricht ___
Harish Shetty 12.11.2010, 18:34
quelle
6

Verwenden Sie ein Lambda, aber zumindest in neueren Versionen von Rails wird ActiveRecord versuchen, zwei Parameter an dieses Lambda zu übergeben, und es muss sie berücksichtigen. Verwenden wir ein einfacheres Beispiel, sagen wir, dass wir sicherstellen wollen, dass ein Benutzername nur alphanumerische Zeichen enthält:

%Vor%

Der erste Parameter, der an das Lambda übergeben wird, ist ein seltsames, nicht ganz so kleines Symbol, das großartig wäre, um einem Roboter zu sagen, was schief gelaufen ist:

%Vor%

(Falls Sie durch die obige Notation verwirrt sind, können Symbole mehr als nur Buchstaben, Zahlen und Unterstriche enthalten. Falls doch, müssen Sie sie in Anführungszeichen setzen, da sonst :activerecord.errors aussieht Sie versuchen, die Methode .errors für ein Symbol namens :activerecord aufzurufen.)

Der zweite Parameter enthält einen Hash mit den Feldern, die Ihnen helfen, Ihre Fehlerreaktion zu verbessern. Wenn ich versuche, einen Benutzernamen mit Interpunktion wie "Superstar !!!" hinzuzufügen, sieht das etwa so aus:

%Vor%     
Jaime Bellmyer 23.08.2013 00:02
quelle
5

verwende ein Lambda:

%Vor%     
shingara 12.11.2010 18:19
quelle
5

Nun, eigentlich ist es in Rails 3.x weder% {{Wert}} noch {{Wert}}, sondern% {Wert}.

    
Rollo Tomazzi 04.03.2011 18:27
quelle

Tags und Links