Ich verwende Rails 4.2.3. Ich habe nach dem in der create-Methode meiner ControllerWie erzwinge ich eine bestimmte URL nach einer Rails-Umleitung?
format.html { redirect_to controller: "my_objects", action: "index", notice: 'Saved successfully.' }
Allerdings, wenn ich umleiten, ist die URL tatsächlich
http://mydomein.devbox.com:3000/my_objects
und ich möchte es
http://mydomein.devbox.com:3000/my_objects/index
Wie sein kann ich Erzwingen Sie die URL als "/ index" statt wie jetzt?
Edit: Hier sind die Protokolle bei einem Besuch/my_objects/index:
Started GET "/my_objects/index" for 127.0.0.1 at 2016-07-12 12:17:25 -0500
Processing by MyObjectsController#index as HTML
DEPRECATION WARNING: Passing a nested array to Active Record finder methods is deprecated and will be removed. Flatten your array before using it for 'IN' conditions. (called from country_code_select at /Users/davea/Documents/workspace/runtrax/app/helpers/user_form_helper.rb:83)
Rendered my_objects/_add.html.erb (31.0ms)
Rendered my_objects/index.html.erb within layouts/race (46.0ms)
Rendered layouts/_navigation.html.erb (0.2ms)
Rendered layouts/_messages.html.erb (0.1ms)
Rendered my_objects/_tabs.html.erb (0.3ms)
Completed 200 OK in 308ms (Views: 301.9ms | ActiveRecord: 4.8ms)
Edit: Hier ist der relevante Teil aus der config/routes.rb Datei ...
get 'my_objects/index'
get 'my_objects/create'
resources :my_objects do
collection do
post 'create'
get 'import'
get 'index' => 'my_objects/index'
get 'search'
get 'stats'
end
end
Ich glaube nicht, was Sie Ich sage es ist a Genau, weil ich "/ my_objects/index" in einen Webbrowser eingeben kann und die Seite, die ich sehen möchte, wenn sie richtig gerendert wird. Laut Ihrer Anfrage habe ich die Protokolle bei der Eingabe einer solchen URL eingefügt. Wenn ich meinen Controller umadressiere, möchte ich, dass das Ergebnis der Eingabe von "/ my_objects/index" entspricht. Wie mache ich das? –