如何为模型中的每种情况设置闪光灯通知?

时间:2014-12-27 10:08:19

标签: ruby-on-rails

我的用户模型:

validates :password, :presence => { allow_blank: false, notice: "password error" }
validates :username, :presence => { allow_blank: false, notice: "username error" }

用户控制器:

def create
    @user = User.new(user_params)
    if @user.save
        logger.info "saved"
    else
        flash[:notice] = "This field is empty"
        redirect_to :back
    end
end

我怎样才能改为“此字段为空”,以便从每个情况的模型中获取文本。

例如:如果用户名字段中出现错误,则显示“用户名错误”,密码为> “密码错误”等。那么,我该如何从模型中获取这些文本?

1 个答案:

答案 0 :(得分:1)

@user.errors包含验证错误。

def create
  @user = User.new(user_params)
  if @user.save
    logger.info "saved"
  else
    flash[:notice] = @user.errors.to_a.to_sentence
    redirect_to :back
  end
end