http://localhost:3000/users/new 路由错误

http://localhost:3000/users/new Routing Error

我正在学习本教程。 http://www.sitepoint.com/rails-userpassword-authentication-from-scratch-part-i/ 我只是标题为 向用户模型添加一些验证的部分

当我转到 http://localhost:3000/users/new 时出现路由错误。但据我所知,溃败看起来不错。怎么了?

user_controller.rb

class UsersController < ApplicationController
  def new
    @user = User.new
  end
  def create
    @user = User.new(params[:user])
    if @user.save
      flash[:notice] = "You signed up successfully"
      flash[:color]= "valid"
    else
      flash[:notice] = "Form is invalid"
      flash[:color]= "invalid"
    end
    render "new"
  end
end

routes.rb

Rails.application.routes.draw do
  get 'users/new'

型号user.rb

class User < ActiveRecord::Base
  attr_accessor :password
  EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  validates :username, :presence => true, :uniqueness => true, :length => { :in => 3..20 }
  validates :email, :presence => true, :uniqueness => true, :format => EMAIL_REGEX
  validates :password, :confirmation => true #password_confirmation attr
  validates_length_of :password, :in => 6..20, :on => :create
end

将实现 UsersController 的文件重命名为 users_controller.rb

此外,您在 User class 中的正则表达式 EMAIL_REGEX 会导致错误。您应该按照错误提示修改它:

EMAIL_REGEX = /\A[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\z/i