我正在使用Rails 5的协会回调。我在文档中读到,如果要从关联中删除对象,则必须抛出异常:
如果before_add回调引发异常,则该对象不会添加到集合中。同样,如果before_remove回调引发异常,则不会从集合中删除该对象。
我正是这样做但是服务器崩溃了:
UncaughtThrowError (uncaught throw :abort)
这就是我的代码的样子:
def can_remove_association(object)
return unless object.condition
errors[:base] << "Can't be removed."
throw(:abort)
end
有什么线索是怎么回事? throw(:abort)
避免了要移除的对象,但是我得到了一个难看的500!
答案 0 :(得分:1)
是的,您需要使用
progressDialog.setMessage("Registering User...");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(userEmail,userPassword)
.addOnCompleteListener(this,new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult>task){
if(task.isSuccessful()){
progressDialog.hide();
Toast.makeText(Login.this, "User Registered!", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(Login.this,"Could not register user!",Toast.LENGTH_SHORT).show();
}
}
});
请参阅https://ruby-doc.org/core-2.4.0/Kernel.html#method-i-throw