我正在尝试使用flux
,react-rails
,react-router-rails
和browserify
在服务器端呈现的ruby轨道上编写应用程序,几乎基于{{ 3}}和this tutorial。到目前为止,我已经设法编写一个简单的两级路由配置,它似乎工作正常,因为正在呈现正确的处理程序。问题是除根网址(/
)之外的所有网址都会忽略根处理程序(我的应用程序组件)。即:
我的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
,则只会分别呈现Login
或Scrapping
。
知道为什么会这样吗?我应该在哪里看? this repo 谢谢你的帮助!
答案 0 :(得分:0)
问题在于,呈现的唯一组件是由服务器端react-router-rails
生成的组件,但该应用程序未在客户端上进行自举。为了解决它,我包括一个文件来引导客户对客户做出反应。您可以在发布分支上检查工作设置un my repo(cuestión上的链接)。寻找一个名为app / assets / javascripts / app.js的文件或类似的东西。对不起,我不能更具体,但我正在旅行,我从我的智能手机回答。我希望它有所帮助。