我有一个现有的rails应用程序,它具有很多核心功能,我已经构建了一个反应路由器应用程序,它将存在于rails应用程序路由的特定通配符路径上。
如何阻止react-routes插件拦截所有链接
假设我已将我的应用程序安装在/ reactApp / *并且我有其他链接,如/ dashboard,/ account等,react-routes插件将拦截外部链接点击(反应应用程序安装在中间的div上现有的铁轨布局)。我希望它只拦截在实际反应应用程序中定义为路由的链接点击。
答案 0 :(得分:0)
我已经在这里提出了一个基本的概念证明,就如何做到这一点,它实际上非常酷。对于您希望在您的反应应用程序上拥有的所有路线,请说它是'superwidget / *',请执行以下操作
#routes.rb
root to: 'dashboard#index'
get 'superwidget', to: 'react#index'
get '*superwidget', to: 'react#index'
您需要设置'react#index'组件
skip_before_action :verify_authenticity_token
然后您可以安装您的反应应用程序,您的rails应用程序将获取它可以处理的URL。如果你聪明地管理路线方案,那么你应该做得很好。
我甚至在这里放了一个(非常糟糕的)样品回购https://github.com/Proximaio/rails-react-example