如何将路径从 rails api 传递到静态服务的 React 应用程序
How can I pass a path to a statically served react app from rails api
我有以下设置:
create-react-app
前端 react-router
捆绑到静态资产中。
此静态资产作为静态文件从我的 rails-api
项目的 public
文件夹中提供。 React 应用程序使用 rails-api
作为后端。
当我转到 /
路线时,会提供 React 应用程序,我可以导航我的应用程序。
如何将 /admin
之类的任何子路径传递给 react-router?
我已经有一个包罗万象的路线
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
但我不知道如何为 React 应用提供服务 和 将路径传递给它。
有什么想法吗?
原来,问题是我的 ApplicationController
是从 ActionController::API
而不是 ActionController::Base
派生的。使用 Base 控制器,它就像一个魅力。
另见
我有以下设置:
create-react-app
前端 react-router
捆绑到静态资产中。
此静态资产作为静态文件从我的 rails-api
项目的 public
文件夹中提供。 React 应用程序使用 rails-api
作为后端。
当我转到 /
路线时,会提供 React 应用程序,我可以导航我的应用程序。
如何将 /admin
之类的任何子路径传递给 react-router?
我已经有一个包罗万象的路线
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
但我不知道如何为 React 应用提供服务 和 将路径传递给它。 有什么想法吗?
原来,问题是我的 ApplicationController
是从 ActionController::API
而不是 ActionController::Base
派生的。使用 Base 控制器,它就像一个魅力。
另见