Rigidbody not being assigned

Options
Hello, I have an object that when collided with by another object that has a particular tag becomes the child of the first object. In the script on the first object there is a rigidbody variable that begins as null and is then assigned the rigidbody of the second object upon childing. The script shows this rigid body assignment occurring but I get an error back when I attempt to engage (fire) with this rigidbody indicating that there was no rigidbody and to make sure one is assigned in the editor. When I look in the editor is shows the assignment as occurring. Why might pun not be recongnizing this assignment? My script looks like this

public Rigidbody rbAmmo = null;
//on collision parent and acquire rigidbody
void OnTriggerEnter(Collider other)
{

if (other.gameObject.tag == "dart") {
rbAmmoGo = other.gameObject;
rbAmmo = rbAmmoGo.GetComponent();
rbAmmo.isKinematic = true;
rbAmmoGo.transform.parent = transform;

}
}
//when trigger pressed fire is called
public void fire()
{
Debug.Log("fire");
rbAmmo.isKinematic = false;
rbAmmo.AddForce(gun.transform.forward * popForce, ForceMode.Impulse);
rbAmmoGo.transform.parent = null;
rbAmmoGo = null;

rbAmmo = null;

}