在 SO 问了这个问题,可能是没描述清楚,没人回答,在这继续问。
我就是想实现这么一种效果:
比如我有两个 controller:Users 和 Posts,我想要每个 controller 的 index action 由 rails 来渲染模板,构建页面框架,至于页面的主要内容则交给 backbone 的 View 来负责。这样,每个 controller 除了 index 同时响应 json 和 html 外,其他 action 只响应 json。比如用户访问/users#index
,先由 rails 渲染页面骨架,然后 backbone 接受继续渲染内容,各个 controller 下的具体路由是由 backbone 负责的。比如/users#index
,/users#show/1
等等,那 backbone 的 routes 应该怎么写呢?backbone 好像不支持这种 prefix,查了一些库,比如 Backbone.SubRoute,但好像不太满足需要,它所谓的 prefix 应该指的是类似/#users/index
这种。
最后发现唯一的方法貌似是这样,使用 pushstate,rails 里 routes 把所有用到的 url 全部指向一个 StaticController,然后所有路由全部由前台 backbone 负责。而我只想要每个 controller 下的路由使用 backbone 来实现。。。
有可能实现吗?还是我的要求太奇葩,就应该老老实实启用 pushstate,全由前台负责路由~ 求教