我在 Rails 异常处理方面几乎没有经验。我有这个片段
def update
@game = Game.find(params[:id])
begin
params[:game][:tier] = eval(params[:game][:tier])
rescue
@game.errors.add(:tier, "Please make sure the correct format for tier, example [100, 1000, 10000]")
end
#.... more code
end
如果 params[:game][:tier] = "[100,200]" 一切都很完美。如果出现像 params[:game][:tier] = "[100,200] abc" 这样的 ruby 语法错误情况,它会捕获错误,但是应用程序会崩溃。
如何使用“eval()”处理异常,以免破坏应用程序?为什么在这种情况下开始和救援不起作用?感谢对红宝石启蒙的任何帮助谢谢:)