2017-03-25 1 views
0

Ich habe traditionell Sub-Domains verwendet, um Apps zwischen Mandanten in Multi-Tenant Rails-Apps zu definieren. Für mein aktuelles Projekt halte ich einen Kundenidentifikator für den ersten Teil der URL für einen besseren Ansatz.Rails Multi-Tenant Routing URL-Generierung

Ich habe herausgefunden, dass ich auf einen Parameter scope, so dass (ich denke) das eigentliche Routing löst. Nun, gibt es einen sauberen Weg für mich, diese Pfade in meinen Ansichten und Controllern zu erzeugen?

Zum Beispiel, wenn ich eine „Beiträge“ Ressource haben, möchte ich die URL

GET /:customer_id/posts/:post_id 

, die gut zu funktionieren scheint zu sein, aber ist es ein einfacher Weg, um diese URL mit Helfern, ohne manuell zu erzeugen die customer_id jedes Mal als Routenparameter übergeben? Ich möchte nur in der Lage sein

<%= post_path(@post) %> 

Ohne sie die Kunden-ID zur Hand zu haben zu verwenden (die spröde und sich wiederholende scheint)

ich vielleicht einen einfacheren Weg erraten, zu fragen, ist es möglich, eine Standard anhängen Parameter für jede generierte URL?

Antwort

1

Sie benötigen url_options

class ApplicationController < ActionController::Base 

    def url_options 
    { :customer => @customer }.merge(super) 
    end 

end 

More info in this answer

außer Kraft zu setzen