How can I tell the player is in contact with the ground, within a script associated with the player?

My code goes like this:

	private bool canjump;	

	void OnCollisionStay (Collider other)
		{
		if (other.gameObject.tag == "ground") canjump = true;
		else canjump = false;
		}

Tagged “ground” is, well, the ground. I rigged some GUI text to report the state of canjump and no matter what my player (a sphere rigidbody) is in contact with, it always returns false. It does return true when switching the ground/the relevant function to a Trigger, and the footer reports “Script error: OnCollisionStay”, thus I suspect that I’m using the wrong function altogether.

The OnCollision functions take a Collision as an argument not a Collider.
Change it to void OnCollisionStay (Collision other) and it should work