Ruby on rails 37signals作业预览功能是如何工作的?

Ruby on rails 37signals作业预览功能是如何工作的?,ruby-on-rails,forms,workflow,preview,Ruby On Rails,Forms,Workflow,Preview,我感兴趣的是让预览功能类似于37signals工作站点的工作方式:。下面是它如何工作的一些屏幕截图 第一步。(URL/jobs/new) 第二步。(URL/作业/新建/预览) 第三步。(URL/listings/new/purchase?token=5198) 因此,假设您有一个Post模型,其中步骤1通常发生在新建/创建视图/操作中,那么应该如何继续执行步骤2预览,然后在预览后继续执行步骤3发布Post/ad 在继续第2步(预览)之前,他们是否真的在数据库中保存了广告/帖子,但设置了一个标

我感兴趣的是让预览功能类似于37signals工作站点的工作方式:。下面是它如何工作的一些屏幕截图

  • 第一步。(URL/jobs/new)
  • 第二步。(URL/作业/新建/预览)
  • 第三步。(URL/listings/new/purchase?token=5198)
因此,假设您有一个Post模型,其中步骤1通常发生在新建/创建视图/操作中,那么应该如何继续执行步骤2预览,然后在预览后继续执行步骤3发布Post/ad

在继续第2步(预览)之前,他们是否真的在数据库中保存了广告/帖子,但设置了一个标志(比如一个名为Preview set为true的布尔字段)?看起来他们设置了一个令牌参数,但我不确定它的用途)


我对此很感兴趣,因为它似乎与CRUD/REST相反,我想知道它是如何工作的会很好。

在将表单提交到服务器进行保存/发布之前,您可以很容易地使用一些jQuery将表单的输出写入div以供显示。

他们可能正在使用状态机,因此当它被保存/发布时创建时需要确认,确认后需要支付。然后,他们只是在数据库中保存状态和记录


状态机似乎是实现此功能的一种方法。谢谢嗨,吉米。谢谢你的回答,尽管我不认为他们是通过jQuery实现的。如果他们这么做了,那会很有趣。我认为state_machine可能就是他们的工作方式。这听起来像是一个可靠的方法,而且我没有给你一个他们是如何做到这一点的答案,只是一个简单的解决方案,自己实现它。明白了!我一直避免直接使用JS——不知道为什么。JS在理论上是理想的,因为它不必访问数据库。自我审视JS/jQuery的注意事项:-)