2015-02-27 16 views
0

Im после этого урока. http://www.sitepoint.com/rails-userpassword-authentication-from-scratch-part-i/ я только часть под названием Добавления некоторых заверений в модель пользователяhttp: // localhost: 3000/users/new Ошибка маршрутизации

Когда я иду к http://localhost:3000/users/new я получаю сообщение об ошибке маршрутизации. Но, основываясь на моих знаниях, маршрут выглядит отлично. Что не так?

enter image description here

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._%+-][email protected][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 
+1

Можете ли вы предоставить сообщение об ошибке? – Nishu

+0

Он должен работать; можете ли вы вставлять выходные данные «рейк-маршрутов»? – mdesantis

+0

Извините, я просто добавил ошибку для публикации. – joeyk16

ответ

3

Переименовать файл, реализующий UsersController - users_controller.rb.

Кроме того, ваш regexp EMAIL_REGEX в классе User вызывает ошибку. Вы должны изменить его, так как ошибка говорит:

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

Я просто сделал это. Ошибка: ArgumentError in UsersController # new Предоставленное регулярное выражение использует многострочные якоря (^ или $), которые могут представлять угрозу безопасности. Вы имели в виду использовать \ A и \ z или забыли добавить параметр: multiline => true? – joeyk16

+0

@ joeyk16 обеспечивают ошибку в вашем вопросе. –

+0

Похоже, у вас есть изворотливое регулярное выражение в вашей модели, @ joeyk16 – Jesper

Смежные вопросы