我有以下结构:
我还需要3个动作:
这3个动作在一个宁静的世界中适合哪里?
澄清:
我知道我可以在我现有的会话和用户控制器上创建任何操作(例如,reset_password获取操作或start_reset_password后期操作)它只是没有真正坐好,似乎我试图让这些控制器也这样做很多工作。
答案 0 :(得分:2)
REST不是黑魔法。弄清楚这些页面的技术目标是什么,然后选择合适的动词来与它们一起使用。
我忘记了密码页面:基本上是一个静态表单,对吧?你希望它可以缓存。获取您想要的任何URL。
发送电子邮件:您不希望重复的代价高昂的操作,并且您希望每次用户请求时执行:POST或PUT在您想要的任何URL上。哎呀,如果你愿意的话,你可以把它和上面的URL一样,但是我没有看到特别紧迫的需要。
基于令牌重置密码:我考虑将其实现为login-via-token,但是如果你要按照自己的方式进行,那么它会产生服务器端的后果,因此应该是一个POST或PUT。
答案 1 :(得分:0)
我最终创建了一个名为forgotten_passwords的新控制器来控制进程
我对这个设计很满意。我认为它需要一个新的控制器。