Как я могу передать путь к статически обслуживаемому приложению реакции с рельсов API

У меня следующая установка:

Внешний интерфейс create-react-app с react-router, объединенный в статический ресурс.
Этот статический ресурс подается из папки public моего проекта rails-api в виде статических файлов. Приложение реагирования использует rails-api в качестве серверной части.
Когда я перехожу к маршруту /, обслуживается приложение реагирования, и я могу перемещаться по своему приложению.

Как я могу передать любые подпути, такие как /admin, в реагирующий маршрутизатор? У меня уже есть универсальный маршрут в config/routes.rb

get '*path', to: "application#fallback_index_html", constraints: lambda { |req|
    req.path.exclude? 'rails/active_storage'
  }

И я могу получить соответствующий подпуть в контроллере:

  def fallback_index_html
    path = request.parameters['path']
    render file: 'public/index.html'
  end

Но я не знаю, как обслуживать реагирующее приложение и передать ему путь. Любые идеи?


person udo    schedule 24.07.2019    source источник


Ответы (1)


Оказывается, проблема в том, что мой ApplicationController является производным от ActionController::API, а не ActionController::Base. С базовым контроллером он работает как шарм. См. также https://stackoverflow.com/a/43912670/526426.

person udo    schedule 06.08.2019