没有确认路径/控制器设计 rails

No confirmation paths / controller devise rails

我安装了设计 gem 并包括可确认模块,但是当我尝试注册时它不要求确认。当我输入 rake routes 时,它只显示这个;

                  Prefix Verb   URI Pattern                        Controller#Action
        new_user_session GET    /gebruiker/sign_in(.:format)       devise/sessions#new
            user_session POST   /gebruiker/sign_in(.:format)       devise/sessions#create
    destroy_user_session DELETE /gebruiker/sign_out(.:format)      devise/sessions#destroy
           user_password POST   /gebruiker/password(.:format)      devise/passwords#create
       new_user_password GET    /gebruiker/password/new(.:format)  devise/passwords#new
      edit_user_password GET    /gebruiker/password/edit(.:format) devise/passwords#edit
                         PATCH  /gebruiker/password(.:format)      devise/passwords#update
                         PUT    /gebruiker/password(.:format)      devise/passwords#update
cancel_user_registration GET    /gebruiker/cancel(.:format)        devise/registrations#cancel
       user_registration POST   /gebruiker(.:format)               devise/registrations#create
   new_user_registration GET    /gebruiker/sign_up(.:format)       devise/registrations#new
  edit_user_registration GET    /gebruiker/edit(.:format)          devise/registrations#edit
                         PATCH  /gebruiker(.:format)               devise/registrations#update
                         PUT    /gebruiker(.:format)               devise/registrations#update
                         DELETE /gebruiker(.:format)               devise/registrations#destroy

如你所见,没有confirmation/newgebruiker 代表用户

但是我在 rails g devise:views

时确实得到了一个 confirmation/new 视图

而在我的schema.rb中可以看到肯定添加了可确认模块:

  create_table "users", force: :cascade do |t|
    t.string   "email",                  default: "", null: false
    t.string   "encrypted_password",     default: "", null: false
    t.string   "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer  "sign_in_count",          default: 0,  null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string   "current_sign_in_ip"
    t.string   "last_sign_in_ip"
    t.string   "confirmation_token"
    t.datetime "confirmed_at"
    t.datetime "confirmation_sent_at"
    t.string   "unconfirmed_email"
    t.datetime "created_at",                          null: false
    t.datetime "updated_at",                          null: false
  end

这是迁移文件;

class DeviseCreateUsers < ActiveRecord::Migration
  def change
    create_table(:users) do |t|
      ## Database authenticatable
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      t.integer  :sign_in_count, default: 0, null: false
      t.datetime :current_sign_in_at
      t.datetime :last_sign_in_at
      t.string   :current_sign_in_ip
      t.string   :last_sign_in_ip

      ## Confirmable
      t.string   :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
      t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at


      t.timestamps null: false
    end

    add_index :users, :email,                unique: true
    add_index :users, :reset_password_token, unique: true
    add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end
end

How can i bring back the confirmation_paths ?

您是否已将 devise :confirmable 添加到您的用户模型?

请参阅 How To: Add :confirmable to Users 上的 Devise wiki 条目。