rails - url_für verhält sich anders bei der Verwendung von Namespace (basierend auf dem aktuellen Controller verwendet wird)

9

lässt annehmen, dass der Namensraum "abc" ist, wir haben einen Controller "abcs" und einen anderen, der den Namensraum "abc" verwendet, ist "defs".

zum leichteren Verständnis:

%Vor%

Wenn der aktuelle Fluss in AbcsController ist, gibt url_for({:controller => "abcs", :action => :new}) die korrekte URL zurück, aber wenn der Fluss in Abc::DefsController ist, wenn ich folgendes gebe:

%Vor%

Es behandelt es als:

%Vor%

Also, hier sollte es "abcs" sein, aber nicht "abc / abcs", aber es behandelt so.

Was ist die Lösung? Bitte fragen Sie mich fr weitere Informationen.

    
user2139745 18.11.2013, 21:07
quelle

2 Antworten

8

Von hier: Ссылка

Das letzte Notizfeld lautet:

  

Wenn Sie einen anderen Controller-Namespace in einem Namespace verwenden müssen   blockieren können Sie einen absoluten Controller-Pfad angeben, z. B .: get '/ foo' = & gt;   '/ foo # index'.

Dies bedeutet, dass Sie nur Folgendes tun müssen:

%Vor%

Ich bin auch auf dieses Problem gestoßen und das löst es:)

    
nzifnab 05.09.2014 21:37
quelle
5

url_for kann auch ein Array als Argument verwenden, Sie suchen wahrscheinlich nach etwas wie:

url_for([:edit, :admin, @product])

wo das admin Symbol dein Namespace wäre.

    
Graham Conzett 18.11.2013 21:34
quelle

Tags und Links