我试图在构建应用程序时尽可能地做到RESTful,但是我永远不确定的一件事就是如何创建向导式的工作流程,保持RESTful简洁。
以多页注册过程为例。
选项1:我可以为每个步骤创建一个 Controller ,并在用户进入该步骤(或回到该步骤)时调用new或edit。我以step1_controller,step2_controller等结尾。
选项2:我可以创建一个 Controller ,并使用参数, session 变量,状态机-跟踪它们在注册过程中的位置。所以我要signup_controller/step?id = 1
第一种选择严格来说是REST,但不是很简洁,并且以一些额外的 Controller 结尾。第二种选择更为简洁,但是打破了我愿意做的REST,但是我并不掉以轻心。
有更好的选择吗?
我在Rails上使用ruby工作,但是此问题适用于其他MVC实现,例如ASP.NET MVC
最佳答案
实际上,我不太关心一键式向导中维护REST的问题。我认为,REST是最重要的,具有可重复的操作-您希望该URL基本具有书签功能,以便无论何时何地都可以返回相同的数据 View 。在多步骤向导中,您将具有依赖关系,无论如何这些依赖关系都会破坏REST的这种观点。我的感觉是要有一个可能具有单独 Action 的单个 Controller ,或者使用查询参数来指示您要执行的步骤。无论如何,这就是我构造激活向导(需要多个步骤)的方式。
关于ruby-on-rails - 如何在MVC下创建简洁,RESTful向导?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/715447/