Können Sie bei der Verwendung von Simple-Form in Rails die Namen von Label-Anzeigen ändern?

8

Ich benutze einfache Form in Schienen und ich würde gerne wissen, ob es eine Möglichkeit gibt, die Art zu ändern, auf die Sammelobjekte angezeigt werden. Zum Beispiel habe ich so etwas

%Vor%

Anstatt sich als "en es zh" usw. zu zeigen, möchte ich, dass es dem Benutzer als "Englisch Spanisch" usw. angezeigt wird. Gibt es sowas überhaupt zu tun?

Vielen Dank im Voraus.

    
SlowBucket 02.12.2012, 03:00
quelle

5 Antworten

12

Sie können auch folgenden Weg verwenden:

Im Modell:

%Vor%

In der Ansicht:

%Vor%     
user1193139 02.12.2012, 18:28
quelle
0

Ich denke, dass das Label "Englisch" und der Wert "en" sein wird; Sie können so etwas tun:

Speichern Sie die Daten in einem Modell (empfohlen) oder machen Sie einen Hash:

%Vor%

Verwenden Sie in der Ansicht label_method und value_method :

%Vor%

Überprüfen Sie den Abschnitt Sammlungen in Ссылка

    
pablomarti 02.12.2012 05:07
quelle
0

Eine weitere Option ist das Hinzufügen eines Helfers

%Vor%

Und dann rufen Sie Ihren Helfer aus dem Eingabefeld:

%Vor%

Und dann könnten Sie in Ihrer Show-Ansicht den folgenden Helfer aufrufen, so dass er Englisch anzeigt und nicht das, was Sie in der db haben:

%Vor%     
Steve 02.12.2012 16:09
quelle
0

Mein Ansatz besteht darin, die gesamte Sammlung in die lokale XML-Datei (en.yml) zu stellen:

%Vor%

und in Sicht einfach schreiben:

%Vor%

ich diese verwenden eine Menge, so schrieb ich sogar Juwel mit Hilfsfunktionen, die I18n erweitert ( Ссылка ) und damit in Gemfile können Sie schreiben (beachten Sie "tc" Helfer)

%Vor%     
wojtekk 14.10.2014 12:37
quelle
0
%Vor%

Dies funktioniert oben, verwenden Sie ein verschachteltes Array. Auch dies wurde in den neuesten Schienen und einfache Form verwendet.

    
colby taperts 14.08.2016 17:18
quelle

Tags und Links