需要帮助将设计流程融入REST

时间:2012-06-22 22:34:44

标签: ruby-on-rails-3 rest routing

我在理解如何将特定的设计流程融入适当的REST架构时遇到了一些麻烦。让我解释一下这个流程:

我正在创建技术支持网站,用户可以在其中提交 ProblemRequests 。在首页上,用户选择他遇到问题的所有类别并点击“获取帮助”,然后将其重定向到下一页,在那里他填写一些表格以提交他的请求。以下是页面:

Page 1 - Select Problem Categories

Page 2 - Fill out Problem Request

第2页基本上就像 ProblemRequest 的新动作一样。问题是每个ProblemRequest都依赖于多个 ProblemCategories ,所以嵌套路线在这里不起作用。接下来要想到的是将所有相关的ProblemCategories id作为 NEW ProblemRequest 操作的GET参数发送,但我不想在URL中公开ID。

我想到了一种多部分形式,但这涉及使 ProblemRequests 具有状态,其中一些是完整的而另一些是不完整的。我不想处理这些影响,因为实际上这是一个单页提交,而不是一个非常冗长的过程。

理想情况下,覆盖 ProblemRequests控制器的新操作以响应POST操作,但我不知道这是否被认为是错误的编程习惯。这是一个主要的罪吗?我可以更改NEW操作以响应POST而不是GET吗?

请指教,

提前致谢。

2 个答案:

答案 0 :(得分:2)

保持简单。是否有任何理由往返服务器?我只是将两个“页面”设为一个页面,并维护所选类别客户端的状态。

答案 1 :(得分:1)

使用多步骤表单:http://railscasts.com/episodes/217-multistep-forms

您可以在会话中保存ID,在完成信息填写之前,模型不会保存在数据库中。适用于简单的2或3步形式。

对于更复杂的向导,您可以使用像https://github.com/schneems/wicked

这样的宝石