- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Controller 中有 2 个用于查找用户的方法(注意 enabled_only
范围):
before_filter :find_user, :only => :show
before_filter :find_any_user, :only => [:edit, :update, :destroy]
def find_user
@user = User.enabled_only.find(params[:id])
rescue ActiveRecord::RecordNotFound
flash[:alert] = "The user you were looking for could not be found"
redirect_to root_path
end
def find_any_user
@user = User.find(params[:id])
rescue ActiveRecord::RecordNotFound
flash[:alert] = "The user you were looking for could not be found"
redirect_to root_path
end
:action == 'show'
的方法。但我无法通过救援来捕捉错误。我尝试了类似以下的操作,但没有奏效:
before_filter :find_user, :only => [:show, :edit, :update, :destroy]
def find_user
@user = if :action == 'show'
User.enabled_only.find(params[:id])
else
User.find(params[:id])
end
rescue ActiveRecord::RecordNotFound
flash[:alert] = "The user you were looking for could not be found"
redirect_to root_path
end
最佳答案
您需要将要“保护”的代码包装在 begin
之间和一个 rescue
before_filter :find_user, :only => [:show, :edit, :update, :destroy]
def find_user
begin
@user = if :action == 'show'
User.enabled_only.find(params[:id])
else
User.find(params[:id])
end
rescue ActiveRecord::RecordNotFound
flash[:alert] = "The user you were looking for could not be found"
redirect_to root_path
end
end
:action == 'show'
永远不可能是真的。
:action
是一个符号,其值为
:action
,它的值永远不会改变,与
'show'
相同,它的值永远不会改变。我不确定实现这一目标的最佳方法是什么,但您可以这样做,但您可以这样做
if params[:action] == "show"
关于ruby-on-rails-3 - rails 如果其他检查失败则救援,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130684/
我有以下代码: try do IO.inspect("start task") t = Task.async(fn -> Process.sleep(7000) end) IO.insp
问题与 radis-rb gem 有关。 异常没有被我的救援 block 捕捉到,我的应用程序崩溃了。 我的代码: begin redis = Redis.new puts "WTF?" re
我的 Rakefile 中有许多文件任务,它们看起来像 file 'task1' => 'dep' do sh "some command" end 还有 task :start => :next
我有一个自定义 Rakefile,它调用不同的 file 任务。有时预期的文件不存在,并且 rake 抛出 RuntimeError 并失败。但是,我想在它失败之前做一些事情。那么有什么方法可以挽救
这对我来说似乎没问题,我找不到任何其他说明的文件,但我希望它得到验证。我有一段代码可能会失败,无论出于何种原因,如果它确实失败,请确保在它之后保护它,然后无论发生什么都需要执行一些代码。这似乎需要一个
使用 Action 邮件发送电子邮件时,我们遇到了生产问题。 NameError undefined local variable or method `to_ary' for # Did you m
我有这个创建方法: def create ... grid = Tag.find_by_id(story[:tag_id]) or raise GridNotFoundError
我正在学习 ZetCode 上非常棒的 SLite & Ruby 教程并遇到了一个愚蠢的问题。这到底是怎么回事? rescue SQLite3::Exception => e puts "Ex
如何捕获 ctrl-break 组合键引发的异常?我在 Windows 上运行一个 ruby 程序(在 cmd.exe 内),我用这样的东西捕获 ctrl-c : rescue Interrupt
背景 两者 try/rescue和 try/catch是 Elixir 中的错误处理技术。根据 corresponding chapter在介绍指南中。 Errors can be rescued u
我在 Rails 应用程序上安装了 Airbrake。但是,我还想在 500 发生时执行一些其他操作。如何在不干扰 Airbrake 的情况下挽救 500 个错误? 最佳答案 在 Applicatio
我有一个与这段代码相当的情况: i=0 def add_one(i) i+=1 puts "FUNCTION:#{i}" end begin puts "BEGIN:#{i}" rai
我一直在尝试在 Rails 应用程序中实现以下功能,但它似乎什么也没做: rescue Twilio::REST::RequestError => e puts e.message 我注意到它
用户只能编辑自己的帖子,因此我使用以下代码来检查用户是否可以进入编辑表单: def edit @post = Load.find(:first, :conditions => { :use
在尝试解析数组、AR 模型导入等时,CSV 文件有问题似乎是一个常见问题。除了在 MS Excel 中打开并另存为 之外,我还没有找到有效的解决方案> 每天(还不够好!)。 在一个 60,000 行的
我最近使用 Debian Wheezy 双启动了一台 Windows PC。安装顺利,没有错误,但是当我启动到 Debian 时,我立即收到 GRUB 救援: Welcome to GRUB! err
我已按照说明安装 resque,但现在当我尝试使用此命令生成 worker 时,出现连接错误: $ QUEUE=mailer rake environment resque:work --trace
我是一名优秀的程序员,十分优秀!