在导轨中显示错误消息

问题描述

| 我似乎在处理错误消息时遇到麻烦。这是我的方法:
  def destroy
     @user = User.find(current_user)
     @authorization = Authorization.find(params[:id])
     if @user.authorizations.count > 1
       @authorization.destroy
       redirect_to(user_path(current_user))
     else

...


     end
   end
我不希望用户删除其最后的授权(例如Facebook),因为那样用户将没有与此相关的任何授权,并且该帐户将丢失。我想发送一条错误消息,说明为什么destroy方法失败,但是我不确定如何。我尝试过的所有方法均无效。 我已经尝试过类似@ user.errors.add => \“错误消息\”的操作 但这只是空白。我认为我的问题是使用渲染。例如,如果我尝试:
 respond_to do |format|
         @user.errors[:base] << \"Sorry,you can\'t delete your only authorized service.\"
         format.html render :template => \"users/show\"
      end
我遇到一个问题,因为出于某种原因,Rails开始在授权目录内的users / show中查找部分内容,大概是因为我是从用户视图中调用授权控制器。 这是我在视图中显示闪光灯的方式:
 def show_flash
      [:notice,:errors,:alert].collect do |key|
          msg = (flash[key].to_s + \" (close)\")
          content_tag(:div,(content_tag(:a,msg,:class => \"#{key}\",:href => \"#\",:onclick => \"$(\'messages\').slideUp(); return false;\")),:id => key,:class => \"flash_#{key}\") unless flash[key].blank?
          end.join
    end
我可以得到通知,看起来很好。     

解决方法

        因此,这似乎正在工作:
 respond_to do |format|
         format.html {redirect_to(@user,:alert => \"Sorry,you can\'t delete your only authorized service.\")}      
 end
但是,这不是:
 respond_to do |format|
         format.html {redirect_to(@user,:errors => \"Sorry,you can\'t delete your only authorized service.\")}      
 end
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...