Rails добавление / # / к root URL - PullRequest
0 голосов
/ 19 апреля 2020

Вероятно, простой вопрос, но я использую Rails 6 с веб-упаковщиком и получаю эту проблему, где мой root URL появляется как / # / вместо /. Если я пытаюсь go на localhost: 3000, он автоматически перенаправляет на localhost: 3000 / # / и все другие мои маршруты go через него. Я не могу найти в этом проекте ничего, что я бы сделал иначе, чем обычное Rails-приложение, которое заставило бы маршруты работать следующим образом.

Я бы хотел получить его на чистом localhost: 3000 / поэтому он выглядит лучше, и я считаю, что / # / портит теги с фрагментами hrefs, заставляя их перенаправлять на страницу индекса.

Редактирование: добавление в вывод rails routes

                          api_session GET    /api/session(.:format)                                                                   api/sessions#show {:format=>:json}
                                      DELETE /api/session(.:format)                                                                   api/sessions#destroy {:format=>:json}
                                      POST   /api/session(.:format)                                                                   api/sessions#create {:format=>:json}
                            api_users GET    /api/users(.:format)                                                                     api/users#index {:format=>:json}
                                      POST   /api/users(.:format)                                                                     api/users#create {:format=>:json}
                             api_user GET    /api/users/:id(.:format)                                                                 api/users#show {:format=>:json}
                                      PATCH  /api/users/:id(.:format)                                                                 api/users#update {:format=>:json}
                                      PUT    /api/users/:id(.:format)                                                                 api/users#update {:format=>:json}
                        api_campaigns GET    /api/campaigns(.:format)                                                                 api/campaigns#index {:format=>:json}
                                      POST   /api/campaigns(.:format)                                                                 api/campaigns#create {:format=>:json}
                         api_campaign GET    /api/campaigns/:id(.:format)                                                             api/campaigns#show {:format=>:json}
                                      PATCH  /api/campaigns/:id(.:format)                                                             api/campaigns#update {:format=>:json}
                                      PUT    /api/campaigns/:id(.:format)                                                             api/campaigns#update {:format=>:json}
                                      DELETE /api/campaigns/:id(.:format)                                                             api/campaigns#destroy {:format=>:json}
                    api_campaign_subs GET    /api/campaign_subs(.:format)                                                             api/campaign_subs#index {:format=>:json}
                                      POST   /api/campaign_subs(.:format)                                                             api/campaign_subs#create {:format=>:json}
                     api_campaign_sub DELETE /api/campaign_subs/:id(.:format)                                                         api/campaign_subs#destroy {:format=>:json}
                       api_characters GET    /api/characters(.:format)                                                                api/characters#index {:format=>:json}
                                      POST   /api/characters(.:format)                                                                api/characters#create {:format=>:json}
                        api_character GET    /api/characters/:id(.:format)                                                            api/characters#show {:format=>:json}
                                      PATCH  /api/characters/:id(.:format)                                                            api/characters#update {:format=>:json}
                                      PUT    /api/characters/:id(.:format)                                                            api/characters#update {:format=>:json}
                                      DELETE /api/characters/:id(.:format)                                                            api/characters#destroy {:format=>:json}
                          api_invites POST   /api/invites(.:format)                                                                   api/invites#create {:format=>:json}
                           api_invite PATCH  /api/invites/:id(.:format)                                                               api/invites#update {:format=>:json}
                                      PUT    /api/invites/:id(.:format)                                                               api/invites#update {:format=>:json}
                                      DELETE /api/invites/:id(.:format)                                                               api/invites#destroy {:format=>:json}
                                 root GET    /                                                                                        static_pages#root

development.log также не имеет ничего особенного.

Started GET "/" for ::1 at 2020-04-19 16:00:18 -0400
Processing by StaticPagesController#root as HTML

Затем некоторые вызовы базы данных

Rendered api/users/_user.json.jbuilder (Duration: 140.1ms | Allocations: 20249)
  Rendered static_pages/root.html.erb within layouts/application (Duration: 150.1ms | Allocations: 21250)
Completed 200 OK in 217ms (Views: 204.9ms | ActiveRecord: 11.7ms | Allocations: 28894)

1 Ответ

0 голосов
/ 26 апреля 2020

В конце концов, я все понял. Проблема заключалась в том, что я использовал HashRouter, который использует хешированное содержимое в URL для маршрутизации веб-интерфейса, но никогда не отправляет эту информацию на сервер.

Я решил ее, переключившись на BrowserRouter и внедрив универсальный маршрут для перенаправления все к пути / *.

Однако я знаю, что в прошлом я создавал одностраничные приложения с HashRouter, которые не добавляли # к URL и отлично работали с бэкэндом. Я не уверен, что я делал по-другому на этот раз или, возможно, это из-за более поздних версий Rails или React.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...