【发布时间】:2016-03-06 14:52:46
【问题描述】:
问题:我想让password 和password_confirmation 字段validates presence:true 用于create 操作,而没有验证update 操作
guest.rb:
class Guest < ActiveRecord::Base
devise :database_authenticatable, :recoverable, :rememberable, :trackable
validates :email, presence: true
end
我的客人控制器.rb:
class GuestsController < ApplicationController
before_action :set_guest, only: [:show, :edit, :update]
def index
@guests = Guest.all
end
def show
@guest = Guest.find(params[:id])
end
def new
@guest = Guest.new
end
def edit
@guest = Guest.find(params[:id])
end
def create
respond_to do |format|
format.html do
@guest = Guest.new(guest_params)
if @guest.save
redirect_to guests_path, notice: 'Client was successfully created.'
else
render :new
end
end
end
end
def update
@guest = Guest.find(params[:id])
if @guest.update_attributes(guest_params)
sign_in(@guest, :bypass => true) if @guest == current_guest
redirect_to guests_path, notice: 'Client was successfully updated.'
else
render :edit
end
end
如果我输入validates :password, presence: true,它会影响一切,而我只需要create
【问题讨论】:
标签: ruby-on-rails ruby validation devise