Rails: Pfadhelfer "neu oder editieren"?

8

Gibt es eine einfache und unkomplizierte Möglichkeit, einen Link in einer Ansicht bereitzustellen, um entweder eine Ressource zu erstellen, wenn sie nicht existiert, oder die existierende on zu bearbeiten, wenn dies der Fall ist?

IE:

%Vor%

Momentan würde ich etwas wie ...

machen %Vor%

Das ist in Ordnung, wenn es der einzige Weg ist, aber ich habe versucht zu sehen, ob es einen "Schienen-Weg" gibt, etwas zu tun wie:

%Vor%

Gibt es eine schöne, saubere Art, so etwas zu tun? So etwas wie das Ansichtsäquivalent von Model.find_or_create_by_attribute(....)

    
Andrew 11.04.2011, 17:50
quelle

5 Antworten

25

Schreiben Sie einen Helfer, um den komplexeren Teil der Logik einzukapseln, dann können Ihre Ansichten sauber sein.

%Vor%

Jetzt in Ihren Ansichten:

%Vor%     
Douglas F Shearer 11.04.2011, 18:01
quelle
7

Ich stieß auf das gleiche Problem, hatte aber viele Modelle, für die ich es tun wollte. Es schien mühsam, für jeden einen neuen Helfer schreiben zu müssen, und so kam ich dazu:

%Vor%

Dann können Sie einfach new_or_edit_path :child für jedes Kind des Elternmodells aufrufen.

    
Russell 06.10.2011 15:47
quelle
5

Ein anderer Weg!

%Vor%     
krunal shah 11.04.2011 18:38
quelle
1

Wenn Sie einen generischen Weg wollen:

%Vor%

Dabei ist model Ihre Instanzvariable in Ihrer Ansicht. Beispiel:

%Vor%     
MurifoX 13.02.2017 11:39
quelle
-4

Versuchen Sie Folgendes:

%Vor%

und mit deinem Link wie:

%Vor%     
gandham varesh kumar 28.07.2014 12:34
quelle