新手问题 实现预览文章的功能碰到了点问题

mzds · September 07, 2017 · Last by runup replied at February 05, 2018 · 1474 hits

在用 markdown 在文本框输入文字后,想点击一个按钮跳转到文章预览界面,本想使用类似 preview/:id 的路由获取文章的,不过这时还没有存入数据库,所以这种方法不可行,想问下各位有什么比较好的方法实现这个功能吗?

如果要按照 REST 的思路来设计的话,尝试把产品领域里的逻辑概念抽取出来,创建一种业务上能说得通的新资源。

比如说没写完的文章,一般都叫做草稿,那么就先建个 ActiveModel(因为还不需要存到数据库,所以不用继承 ActiveRecord)的子类,名字就叫 Draft

这样来说,预览这个功能就等于“创建了一篇草稿”,那么在 HTTP 接口上应该体现成 POST /drafts/。有了这些思路,再往下自己写控制器,写模板渲染什么的,应该就不需要多说了。

Reply to 5long

感谢提供思路,有空试试

Reply to 5long

想了下,如果不存数据库的话如何在预览页面中取到草稿中的内容?

Reply to mzds

参考 Rails 教程里创建 model 但未能通过验证的做法:即使还没存数据库,用户已经把 markdown 内容 POST 上来了。不要重定向,直接拿去渲染就是。

http://guides.rubyonrails.org/getting_started.html#adding-some-validation

把 ruby-china 的源码拿到,然后模仿一下呗

😓 用 JS 渲染啊

Reply to gyorou

js 怎么实现,求教

Reply to gyorou

效果很好,不过请教如何和 carrierwave 结合上传图片?

You need to Sign in before reply, if you don't have an account, please Sign up first.