Show one box in many boxes when player collide with the box

I have many objects (Boxes) and one box will be shown and other boxes will be hide if player collide with that box it should be disappear and another one will show and vice versa. I tried this but not working.

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
public GameObject box;
public GameObject box1;
public GameObject box2;
// Use this for initialization

	public void OnCollisionEnter(Collision other){

	if (other.gameObject.tag == "box1") {
		box.SetActive (false);
		box1.SetActive (true);
		box2.SetActive (false);
	} else if (other.gameObject.tag == "box2") {
		box.SetActive (false);
		box1.SetActive (false);
		box2.SetActive (true);


thanks for your suggestion. but i am already using Debug.Log(). but not showing message.
it is working without . other.gameObject.tag. but with tag not working.