【问题标题】:How do i skip activation in rails?如何跳过 Rails 中的激活?
【发布时间】:2011-04-26 05:36:54
【问题描述】:

我在 rails 中使用了 restful 身份验证插件,我需要跳过授权并立即将用户登录...如何做到这一点

任何想法都将受到高度赞赏

【问题讨论】:

    标签: ruby-on-rails ruby restful-authentication


    【解决方案1】:

    如果我没记错的话,您可以安装 Restful Authentication 而无需激活。为此,只需执行以下操作:

    script/generate authenticated user sessions
    

    但是,如果您需要激活,那么您可以这样做:

    script/generate authenticated user sessions --include-activation
    

    并创建 ActionMailer 代码。

    因此,您可以采取的第一个方向就是一开始就不要要求任何激活机制。如果您确实需要激活,但只想在某些情况下避免激活,您需要了解激活的工作原理。我真的建议阅读这里的代码,但它非常基础。有一个名为activated 的列,如果为真,则激活用户。理论上,您可以简单地将其设置为 true 并继续前进。

    登录用户也可以在代码中查找。最简单的方法是将 session[:current_user] 设置为您刚刚创建的用户的 ID。

    然后...首先编写测试。当测试通过时,你就知道你有正确的解决方案:)

    【讨论】:

      【解决方案2】:

      在 after_create 回调中编写激活方法。代码取决于您的 gem/plugin。在大多数 gem 中,它类似于 user.activate 。或者构建您的自定义方法,取消激活码,更新activated_at,并在after_create回调中调用此方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-03
        • 1970-01-01
        • 2020-05-19
        • 1970-01-01
        相关资源
        最近更新 更多