In meiner Rails 3-Anwendung habe ich zahlreiche Modelle mit Spalten, die eine begrenzte Auswahl haben (IE eine Auswahlbox). Es scheint in diesen Fällen übertrieben zu sein, ein anderes Modell und eine Beziehung zum ursprünglichen Modell zu erstellen, nur um die Auswahl zu verwalten.
Eine Option, die ich mir vorstellen kann, ist, nur ein Auswahlfeld zu erstellen und die Auswahlmöglichkeiten dort zu haben, aber das scheint nicht sehr DRY zu sein. Hat jemand einen guten Vorschlag, wie man mit dieser Situation umgeht?
Danke fürs Schauen.
Normalerweise mache ich das mit einer konstanten Liste im Modell.
%Vor%Und in der Ansicht:
%Vor%Sie können auch das enum_column-Plugin verwenden: Ссылка
Sie können dann Ihre Auswahlfelder in Ihren Ansichten wie folgt rendern:
%Vor%(Modell ist ein Beispiel für einen Modellnamen, z. B. Buch oder Produkt oder was auch immer Ihre Anwendung eigentlich ist.)
In einigen Fällen erzeuge ich einfach einen Hash der Optionen und verwende Klassenmethoden, um sie anzuzeigen und zu setzen. Zum Beispiel könnte ein Problemmodell mit verschiedenen Status wie folgt aussehen:
%Vor%Dann speichern Sie einfach den ganzzahligen Wert in der status_id des Modells. Sie können auch Getter / Setter konfigurieren.
Tags und Links ruby-on-rails-3 ruby-on-rails drop-down-menu