heute Im hier nicht nur gute Antworten zu überprüfen, aber fragen Sie! Ich mag folgend mit Sails.js und seinen routes.js tun.Sails.js benutzerdefinierte Route mit dem gleichen Controller, aber verschiedene Layouts
Was ich will, ist tatsächlich verschiedene Layouts auf Basis von der Art des Benutzers, der angemeldet ist ich weiß, wie man das tun, aber ich möchte nicht diese auf der routes.js
Datei schreiben (weil es chaotisch ist, und ich möchte nicht-Controller erstellen, um die Aufgabe der Route selbst zu tun):
'get /adminSpace/*' : {
controller : 'adminSpace' //setting layout on controller
},
'get /userSpace/*' : {
controller : 'userSpace' // //setting layout on controller
}
Eine schnelle Möglichkeit, wenn möglich, wäre es so zu schreiben:
'get /[user|admin]/projects/*' : {
controller : 'project'
locals: {
layout: 'based_on_url'
}}
Ist das irgendwie möglich?
Nur um klar zu sein, ich möchte nicht die Zwischenhändler-ähnliche AdminSpaceController und UserSpaceController hinzufügen, um das Layout einzurichten! Und dann jede Controller-URL für jede Rolle spezialisieren. Irgendwelche Tipps? – paulogdm
Sails Routen können einige ziemlich knifflige Sachen machen: http://sailsjs.com/documentation/concepts/routes/custom-routes, aber mein Instinkt sagt mir, warum nicht Benutzer Ihren Controller? Ich bin mir nicht sicher, ob Locals in der routes-Datei auf Platzhalter (wie [user | admin] usw.) zugreifen können, die von der Route selbst oder anderen dynamischen Daten stammen. – arbuthnott
Ich habe auch das Gefühl, dass zwei Routen einfacher sein können! Andere Entwickler, die sich Ihren Code ansehen, könnten zwei Routen schneller verstehen, als die witzige Syntax zu analysieren, mit der Regex in die Routen eingefügt werden. – arbuthnott