2016-06-13 2 views
0

Ich habe eine Rails-App, wo ich möchte, dass die customer ein Konto des Typs personal oder business registrieren kann. Ich habe 3 Modelle: Customer, PersonalAccount (wo ich Info für persönliches Konto speichern), BusinessAccount (wo ich Informationen für Geschäftskonto speichern). Ein Kunde kann ein persönliches und ein geschäftliches Konto haben. Ich möchte zwei Seiten der Registrierung erstellen, eine für den Kunden mit fields_for persönlichen Account, wie /personal, und eine für den Kunden mit fields_for Geschäftskonto wie /business. Wie kann ich fortfahren?Erstellen einer Doppeltyp-Registrierung für Kunden in Ruby auf Schienen 4.2.6

+0

Können Sie uns zeigen, welchen Code Sie geschrieben haben? Haben Sie Controller-Methoden für diese Seiten? Verwenden Sie irgendeine Art von Authentifizierungsbibliotheken wie Devise? –

+0

Ich habe die drei Controller erstellt, die dem RESTful-Muster folgen. Verwendet verschachtelte Attribute, um die im Formular zu verwendende Verknüpfung zu erstellen. Meine Frage ist, wie ich eine Seite mit einem Formular für "Kunden + persönliche geschachtelte Attribute" und ein Formular für "Kunden + Business geschachtelte Attribute" erstellen kann. Muss ich diese 2 Aktionen im Kundencontroller erstellen? Oder gibt es eine Möglichkeit, zwei Instanzen der Kunden # neue Aktion zu erstellen? –

+0

Der sauberste Weg, dies zu tun, ist zwei Aktionen in der Steuerung. –

Antwort

1

In dieser Situation ist es möglich, zwei Controller zu verwenden.

Sie können dann die RESTful-Routen für jeden Controller definieren und die Geschäftslogik-Unterschiede in ihnen behandeln.

Wenn sich herausstellt, dass die beiden Controller die gleiche Logik haben, sollten Sie in Betracht ziehen, diese Logik in eine Mixin- oder Elternklasse zu übernehmen, von der die beiden erben.

Verwandte Themen