ich glaube, der CodeController-Aktion von einem anderen Controller Render
Option A
class RedirectController < ApplicationController
def index
redirect_to :controller => 'posts', :action => 'show', :id => 1
# it works
end
end
Option B
class RedirectController < ApplicationController
def index
render :controller => 'posts', :action => 'show', :id => 1
# it doesn't work
end
end
ist möglich in (B) deutlicher ist eine andere Aktion in ein anderes zu laden Regler? (und nicht nur die Aussicht) Wie? Dank
Warum möchten Sie das tun? Es ist vielleicht besser, wenn Sie uns das zugrunde liegende Problem mitteilen, das Sie lösen möchten. –
Das "zugrunde liegende Problem" ist, dass ich frei sein will, einige URLs einzurichten, wie ich möchte, ohne Routen zu berühren. Rb – user142913
Nur um zu verdeutlichen, Ihre Option A macht keine Aktion von einem anderen Controller, beantwortet sie die aktuelle Anfrage mit einem Umleitung, die den Browser auf den anderen Controller verweist (daher eine zweite Anfrage, die den anderen Controller trifft). 'render: template => 'posts/show'' hingegen gibt die Vorlage des anderen Controllers direkt wieder. Natürlich müssen Sie Sachen einrichten, damit die Vorlage angezeigt wird (wie Ihre @post var). Ich bin mir nicht sicher, ob ich verstehe, was Sie zu tun versuchen, aber normalerweise können Sie URLs nicht einrichten, ohne routes.rb zu berühren, da routes.rb dafür gut ist. – Zargony