【问题标题】:Rails Routing for email confirmation & password reset用于电子邮件确认和密码重置的 Rails 路由
【发布时间】:2013-01-10 20:44:47
【问题描述】:

我需要一些路线用于 Rails 中的电子邮件确认密码重置,以便用户在收到的电子邮件中点击。

我查看了Railscast #274 - Remember Me & Reset Password,它为那个重置操作创建了一个单独的控制器。

想知道,因为它们都与User#email 相关,它们是否更适合作为用户控制器本身的成员或集合操作?!? 路线如:

/user/reset/:token & /user/confirm/:token /user/:id/reset/:token & /user/:id/confirm/:token 似乎有道理,但不确定如何创建它们以及路线助手会是什么样子?!?

或者也许它们可以组合在一个控制器中? verification/confirm/:token & /verification/reset/:token?

无论如何,只是寻找一些想法来节省我的一些尝试和错误。我不想要的是两个独立的控制器(一个用于电子邮件确认,另一个用于密码重置)。

【问题讨论】:

    标签: ruby-on-rails routes password-recovery email-confirmation


    【解决方案1】:

    这当然可以做到,但它不是 RESTful。这些资源(确认、重置)可以由专用控制器更好地处理,该控制器具有更简单、更不易碎的代码,因为它符合 REST 模式。一如既往的约定优于配置...如果您发现这不适用于您的特定情况,请务必按照您认为合适的方式进行。

    【讨论】:

    • 能否在单个 RESTful 控制器中处理它们?如果是这样,也许是一个简单的例子。谢谢!
    • 并非如此,它们在概念上是独立的资源。但是它们可以被命名空间,如果你发现你的控制器难以组织,这是值得考虑的。
    • 在 Rails 应用程序中创建许多低使用率和可能不使用(在重置的情况下)控制器有什么缺点吗?
    • 看看Devise's setup for this,你会告诉我;)你可能会添加一些命名空间可以帮助避免的混乱。否则,我想不出有什么坏处。
    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2016-03-20
    • 2018-11-02
    • 2018-10-07
    • 2013-07-11
    相关资源
    最近更新 更多