react-router-rails 服务器端呈现正确的组件,但绕过父组件

react-router-rails server side renders the correct component, but bypasses the parent component

我正在尝试使用 fluxreact-railsreact-router-rails 和 [= 在 rails 上使用服务器端渲染在 ruby 中编写一个应用程序15=],几乎基于 this tutorial and this repo。到目前为止,我已经设法编写了一个简单的两级路由配置,并且它似乎工作正常,因为正在呈现正确的处理程序。问题是,除了根 url (/) 之外,所有 url 的根处理程序(我的应用程序组件)都被忽略了。即:

我的routes.js.jsx是这样的:

// app/assets/javascripts/routes.js.jsx
var Route        = ReactRouter.Route,
    DefaultRoute = ReactRouter.DefaultRoute;
var MyApp        = require('./components/MyApp');
var Login        = require('./components/session/Login');
var Scrapping    = require('./components/scrapping/Scrapping');

var Router = (
  <Route name="app" path="/" handler={MyApp}>
    <DefaultRoute handler={Login} />
    <Route name="login" path="login" handler={Login}/>
    <Route name="scrapping" path="scrapping" handler={Scrapping}/>
       .
       .
       .
  </Route>
);

module.exports = Router;

每当我去 / 时,都会呈现 App --> Login。但是如果我转到/login/scrapping,则分别只渲染LoginScrapping

知道为什么会这样吗?我应该在哪里看? here's the repo 感谢您的帮助!

问题在于,唯一呈现的组件是由 react-router-rails 在服务器端生成的组件,但应用程序并未 bootstrap 在客户端上运行。为了解决它,我包含了一个文件 bootstrap 对客户做出反应。您可以在发布分支上检查我的 repo(link on the cuestión)的工作设置。查找名为 app/assets/javascripts/app.js 或类似名称的文件。对不起,我不能说得更具体,但我正在旅行,我正在用我的智能手机接听电话。希望对你有帮助。