【问题标题】:I want to customise devise gem's controllers, is it possible and how to do?我想定制设计 gem 的控制器,有可能吗?怎么做?
【发布时间】:2010-11-06 05:15:28
【问题描述】:

有没有办法自定义设计控制器,因为我们可以使用“rails g devise:views”生成器命令修改设计视图。 ??
好的,这里的目的是在用户注册后立即为当前用户创建一个统计表的行。
我为每个用户维护了一个用户统计信息。我只想在用户注册我的网络应用程序时在后台触发 userstats 控制器的创建方法。

有没有办法做到这一点?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 devise


    【解决方案1】:

    您需要创建自己的控制器,继承自 Devise 的。

    class Admins::SessionsController < Devise::SessionsController
    end
    

    然后你告诉 devise 使用那个控制器:

    devise_for :admins, :controllers => { :sessions => "admins/sessions" }
    

    然后将您的视图从设计/会话复制到管理员/会话。

    您可以在这里阅读:https://github.com/plataformatec/devise

    【讨论】:

      【解决方案2】:

      或者干脆这样做:

      rails generate devise:controllers Admin
      

      【讨论】:

        【解决方案3】:

        或将设计控制器从它们现在所在的位置复制到您的应用中。这就是我对 RVM 所做的:

        cp -R ~/.rvm/gems/ruby-1.9.3-p194@my_gemset/gems/devise-2.1.0/app/controllers/* my_rails_app/app/controllers/
        

        【讨论】:

        • 可继承控制器直到 1.1 版才被引入到 Devise 中,所以当你被 Devise 1.0 for Rails 2.3 卡住时,这个解决方案似乎是最有效的方法
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-10
        相关资源
        最近更新 更多