次のようなコードがあります(これはリモートフォームです)
def something
@user = User.find_by_email(params[:email])
@success = true
@error = nil
if !@user
@success = false
@error = "No such user"
elsif !@user.some_condition
@success = false
@error = "User did not pass condition"
end
respond_to do |format|
format.json { render "my_json_view",:status => @success ? 200 : 403 }
end
end
my_json_view
私は次のようなことをします:
json.response do |json|
if @success
json.success true
# data I need here
else
json.success false
json.error @error
end
end
ajax:error
このようにして、イベントに簡単にフックし、エラー ケースを簡単に処理できます。これがどれほど良い習慣なのか、私はただ疑問に思っています。jQuery が失敗したことを認識できるように、別の http コードを返すことはできますか?