新手问题 将 erb 拿到前端渲染如何?

mizuhashi · 发布于 2016年11月07日 · 最后由 dsh0416 回复于 2016年11月08日 · 793 次阅读
23529

借助opal可以渲染erb模板,这样后端一些条件渲染的模板就可以直接放到前端,然后传实例变量就行了。前端发起ajax请求的时候带一份当前path信息,然后如果和当前action是同一套模板,可以直接返回action的实例变量,否则就把模板也一块往前传。在前端触发重渲染也是可以的。

简单地试了一下,后端递归去render一份erb还是可以实现的,view都不用改,当然不能有helper方法。倒是opal的erb渲染暂时搞不定,它好像在新版把渲染erb的功能给删了。。我个人认为这比react.rb有搞头不少,做出来就是现成的SSR

共收到 8 条回复
18898

opal玩家沙发。。。

11222

你真的以为用Ruby能写出Javascript么?机制都完全不一样。简单的逻辑,套套模版应该是没有问题,稍复杂一点点步步都是坑。与其填这些没必要的坑,不如用合适的工具做合适的事情。

0b45a6

Opal 作者今年已经写了个类似 React 的东西了,今年 RubyKaigi 的 Keynote 之一。

23529

#3楼 @dsh0416 叫什么名字?

23529

#2楼 @billy 我的意思不是用ruby写js,而是让后端在render的时候,维护一套partial的依赖,然后把需要用到的partial传到前端渲染。也就是对一个现有的rails项目,不用改动view层任何代码,就能让前端在发起action的时候自动获取partial模板在前端渲染。

也就是理想状态下你的view都写在后端erb,每个erb相当于React.PureComponent,自动渲染,不需要任何js代码。

11222

@mizuhashi 简单地做我觉得是没有问题,或者是只拉取后端部分大致没有交互的模版都可以。但如果要全局做,还要强交互,那我就觉得很难,而且没有必要,稍复杂一点可能会耦合到不想再看。

0b45a6

#4楼 @mizuhashi youchan/menilite

0b45a6

#4楼 @mizuhashi 其实还有些类似的框架,甚至有支持 SSR 啊什么的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册