gpt4 book ai didi

ruby-on-rails - Rails 3 - AJAX,响应 JS - 如何处理错误

转载 作者:行者123 更新时间:2023-12-04 17:58:21 24 4
gpt4 key购买 nike

给定以下 Controller :

def create
if @mymodel.save
format.js
else
format.js { render :js => @mymodel.errors }
end
end

处理 .JS 错误响应的 Rails 方式是什么...我是否创建具有不同文件名的 .js 文件仅用于处理错误?

我要在 .js 文件中添加 IF ELSE 吗?

谢谢

最佳答案

自从发布这个问题以来已经有一段时间了 - 但我只是花了一段时间来解决这个问题并且在网上找不到太多帮助,所以:

解决方案是创建 .js.erb 文件 - 一个用于成功,一个用于失败。

  def create
@foo = Foo.new(params[:foo])
if @foo.save
respond_to do |format|
format.html { redirect_to root_path }
format.js { render :action => "success"} #rails now looks for success.js.erb
end
else
respond_to do |format|
format.html { render :action => 'new'}
format.js { render :action => "failure"} #rails now looks for failure.js.erb
end
end
end
end

如果您没有指定文件名,那么在这两种情况下,rails 都会查找 create.js.erb(因为 format.js 是从 create 调用的)。这在成功/错误情况下不是很好,因为您希望每个场景都有不同的行为 - 因此通过 :action 属性覆盖文件名。

关于ruby-on-rails - Rails 3 - AJAX,响应 JS - 如何处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3965564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com