Вам необходимо включить 2 плагина:
- multi_route - чтобы разрешить разбиение маршрутов между отдельными файлами,
- shared_vars - дляпередать переменные по маршрутам.
Затем на самом высоком уровне объявить маршруты следующим образом:
# routes/root.rb
class YourApp::Web
route do |r|
r.on('chats') do
r.is do
r.route 'chats'
end
r.is(String, 'messages') do |chat_id|
shared[:chat_id] = chat_id
r.route 'chats_messages'
end
end
end
end
После этого вы можете поместить чаты и chats_messages в отдельные файлы:
# routes/chats.rb
class YourApp::Web
route ('chats') do |r|
r.get do
# ....
end
r.post do
# ....
end
end
end
# routes/chats_messages.rb
class YourApp::Web
route ('chats_messages') do |r|
chat_id = shared[:chat_id]
r.get do
# ....
end
r.post do
# ....
end
end
end
Может быть, есть и другое решение.Я поделился тем, что сработало для меня.Надеюсь, это поможет!