0

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

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

第 1 页 - 选择问题类别

第 2 页 - 填写问题请求

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

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

理想的工作是覆盖ProblemRequests 控制器的 NEW 操作以响应 POST 操作,但我不知道这是否被认为是不好的编程实践。这是大罪吗?我可以将 NEW 操作更改为响应 POST 而不是 GET 吗?

请指教,

提前致谢。

4

2 回答 2

2

把事情简单化。往返服务器有什么原因吗?我只是将两个“页面”制作为一个页面并在客户端维护所选类别的状态。

于 2012-06-22T22:41:06.663 回答
1

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

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

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

于 2012-06-22T23:49:19.970 回答