Haml Code:---------------------------------------------------------------------------
.container .row.row-offcanvas.row-offcanvas-right .col-xs-12.col-sm-9 %h1.text-success 注 册 .span8 .form-horizontal =form_for :user, url: users_path, method: :post do |f| - if @user.errors.any? #error_explanation %h2 = pluralize(@user.errors.count, "error") prohibited this user from being saved: %ul - @user.errors.full_messages.each do |msg| %li= msg %fieldset .form-group.has-success =f.label :name, '昵 称 :', class: 'col-sm-7 control-label' .col-sm-5 =f.text_field :name, class: 'form-control', type: 'text', placeholder: '昵称' .form-group.has-success =f.label :email, '邮 箱 :', class: 'col-sm-7 control-label' .col-sm-5 =f.email_field :email, class: 'form-control', type: 'email', placeholder: '邮箱' .form-group.has-success =f.label :password, '密 码 :', class: 'col-sm-7 control-label' .col-sm-5 =f.password_field :password, class: 'form-control', type: 'password', placeholder: '密码' .form-group.has-success =f.label :password_confirmation, '确认密码:', class: 'col-sm-7 control-label' .col-sm-5 =f.password_field :password_confirmation, class: 'form-control', type: 'password', placeholder: '确认密码' .form-group.has-success =f.label :question, '密保问题:', class: 'col-sm-7 control-label' .col-sm-5 =f.text_field :question, class: 'form-control', type: 'text', placeholder: '密保问题' .form-group.has-success =f.label :answer, '密保答案:', class: 'col-sm-7 control-label' .col-sm-5 =f.text_field :answer, class: 'form-control', type: 'text', placeholder: '密保答案' %hr .col-sm-3.col-sm-offset-6 %button.btn.btn-warning.btn-lg.btn-block 重 置 .form-actions.col-sm-3 =f.submit ' 确 认 ', class: 'btn btn-success btn-lg btn-block'
Controller Code:------------------------------------------------------------------
class UsersController < ApplicationController def new @user = User.new end def create @user = User.new(user_params) @user.save if @user.save redirect_to @user else render 'new' end end def show @user = User.find(params[:id]) end private def user_params params.require(:user).permit(:name, :email, :password, :question, :answer, :password_confirmation) end end
Model Code:-----------------------------------------------------------------
class User < ActiveRecord::Base validates_confirmation_of :password validates :name, presence: true validates :question, presence: true validates :answer, presence: true validates :password, presence: true validates :password_confirmation, presence: true end