2013-10-23 17 views
7

Ich gehe durch eine der Rails Tutorials, während eines Abschnitts über Benutzervalidierungen, bekomme ich immer einen Fehler, der mir sagt, dass meine Passwortbestätigungen beim Editieren/Erstellen eines Benutzers nicht leer sein dürfen. Ich habe mir die vorherigen Antworten angesehen und es sieht so aus, als hätten die Leute attr_accessible benutzt, das aus den Schienen gezogen wurde. Ich bin ein total Rails/Web Dev Newb, also bin ich mir nicht sicher, wie es weitergeht. Die Aussicht ist in HAML, tut mir leid, wenn das schlecht ist.Rails 4 Passwortbestätigung ca

Modell

class User < ActiveRecord::Base 

    before_save { self.email = email.downcase } 
    attr_accessor :name, :email 
    validates_confirmation_of :password 
    has_secure_password 


    validates :name, presence: true, length:{ maximum: 16 } 

    VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 

    validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, 
    uniqueness: { case_sensitive: false } 

    validates :password, length: { minimum: 6 } 


    has_one :profile 
    has_many :posts 


    end 

Ansicht

= form_for(@user) do |f| 
    - if @user.errors.any? 
    #error_explanation 
     %h2 
     = pluralize(@user.errors.count, "error") 
     prohibited this username from being saved: 
     %ul 
     - @user.errors.full_messages.each do |msg| 
      %li= msg 

    .field 
    = f.label :name 
    = f.text_field :name 

    .field 
    = f.label :email 
    =f.text_field :email  

    .field 
    = f.label :password 
    = f.password_field :password 

    = f.label :password_confirmation 
    = f.password_field :password_confirmation 

    .actions 
    = f.submit 
+0

wo genau macht diesen Fehler angezeigt? (Wenn Sie Tests ausführen oder selbst testen), können Sie den Controller-Code bereitstellen. – wpp

Antwort