【问题标题】:Rails devise Sessions ControllerRails 设计会话控制器
【发布时间】:2011-12-12 21:21:17
【问题描述】:

在设计中,许多教授如何完成某些事情的页面都需要编辑会话控制器。我使用这个https://github.com/fortuity/rails3-subdomain-devise/wiki/Tutorial-(Walkthrough) 设置了设计它并没有超过制作会话控制器。我怎么做一个。 (如果真的很简单,对不起,请给我几个简单的步骤)

【问题讨论】:

    标签: ruby-on-rails session controller devise


    【解决方案1】:

    使用rails g controller MySessions 创建您的会话控制器。然后在您的控制器内部将其从继承 ApplicationController 更改为设计控制器,如下所示:

    class MySessionsController < Devise::SessionsController
    
    #your session logic here
    
    end
    

    您想要覆盖的控制器中的任何逻辑都可以通过调用该方法并插入您自己的逻辑来覆盖。对于该控制器中的内容列表,您可以在其Github 页面上查看代码。如果您不想覆盖他们的方法,您可以将它们排除在外,或者直接调用 super。

    def new
      super
    end
    

    【讨论】:

    • 感谢@janders 的有用反馈。顺便说一句,为什么它是MySessions 而不是源代码中的Sessions 有什么原因吗?这是一个错字吗,或者它的不同并不重要?
    • 你的控制器的名字无关紧要,只要它继承自Devise::SessionsController。
    • 啊,刚刚意识到它继承自Devise::SessionsController 而不仅仅是DeviseController。有道理,谢谢。
    • 实际上控制器的名称很重要。在 Devise 中有很多地方比较 controller_name 和 "sessions" 的当前值。此外,它使用的 i18n 键基于控制器名称等。您应该只调用您的子类SesssionsController
    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多