]> git.openstreetmap.org Git - rails.git/commitdiff
Use resourceful route for new message
authorAnton Khorev <tony29@yandex.ru>
Thu, 2 Jan 2025 07:28:03 +0000 (10:28 +0300)
committerAnton Khorev <tony29@yandex.ru>
Thu, 2 Jan 2025 07:28:03 +0000 (10:28 +0300)
config/routes.rb
test/controllers/messages_controller_test.rb

index 3ede0d33d521385a64210802b54fd8023cbd4c28..4ab8f307b008e3ff561f9671a15b1dd13378f77b 100644 (file)
@@ -311,7 +311,7 @@ OpenStreetMap::Application.routes.draw do
   get "/export/embed" => "export#embed"
 
   # messages
   get "/export/embed" => "export#embed"
 
   # messages
-  resources :messages, :id => /\d+/, :only => [:create, :show, :destroy] do
+  resources :messages, :path_names => { :new => "new/:display_name" }, :id => /\d+/, :only => [:new, :create, :show, :destroy] do
     post :mark
     patch :unmute
 
     post :mark
     patch :unmute
 
@@ -324,7 +324,7 @@ OpenStreetMap::Application.routes.draw do
   end
   get "/user/:display_name/inbox", :to => redirect(:path => "/messages/inbox")
   get "/user/:display_name/outbox", :to => redirect(:path => "/messages/outbox")
   end
   get "/user/:display_name/inbox", :to => redirect(:path => "/messages/inbox")
   get "/user/:display_name/outbox", :to => redirect(:path => "/messages/outbox")
-  get "/message/new/:display_name" => "messages#new", :as => "new_message"
+  get "/message/new/:display_name", :to => redirect(:path => "/messages/new/%{display_name}")
   get "/message/read/:message_id", :to => redirect(:path => "/messages/%{message_id}")
 
   # muting users
   get "/message/read/:message_id", :to => redirect(:path => "/messages/%{message_id}")
 
   # muting users
index ac7ca9a0614273b68f0d30321eedc3a1aaf2c081..f72e695936813142a723b4aaef28cf6bb8c4f0ec 100644 (file)
@@ -5,7 +5,7 @@ class MessagesControllerTest < ActionDispatch::IntegrationTest
   # test all routes which lead to this controller
   def test_routes
     assert_routing(
   # test all routes which lead to this controller
   def test_routes
     assert_routing(
-      { :path => "/message/new/username", :method => :get },
+      { :path => "/messages/new/username", :method => :get },
       { :controller => "messages", :action => "new", :display_name => "username" }
     )
     assert_routing(
       { :controller => "messages", :action => "new", :display_name => "username" }
     )
     assert_routing(