2013-10-23 25 views
7

Sto passando uno dei tutorial di Rails, durante una sezione sulle convalide utente, continuo a ricevere un errore che mi dice che la mia password non può essere confermata in bianco quando si modifica/crea un utente. Ho guardato attraverso le risposte precedenti e sembra che le persone abbiano usato attr_accessible, che è stato tirato fuori dai binari. Sono un totale rails/web dev newb quindi non sono sicuro di come procedere. La vista è in HAML, scusa se è una cattiva pratica.rails 4 conferma password ca

Modello

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 

View

= 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

dove fa esattamente questo errore presentarsi? (durante l'esecuzione di test o quando si esegue il test da soli) se quest'ultimo potrebbe pubblicare il codice del controller. – wpp

risposta