ruby-on-rails – rails 4密码确认ca.

我正在浏览一个Rails教程,在用户验证的一节中,我一直收到一个错误,告诉我在编辑/创建用户时我的密码确认不能为空.我查看了之前的答案,看起来人们使用的是attr_accessible,它被拉出轨道.我是一个总计rails / web dev newb所以我不知道如何继续.该视图在HAML中,如果这是不好的做法,对不起.

模型

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+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

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

  validates :password,length: { minimum: 6 }


  has_one :profile
  has_many :posts


  end

视图

= 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

解决方法

由于您使用的是rails 4,请查看强大的params设置,并确保允许使用password_confirmation.

这是rails 4中的一项新功能
http://edgeapi.rubyonrails.org/classes/ActionController/StrongParameters.html

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...