A cube on rotating cylinder not moving

i have an cylinder with self-rotating script,

using UnityEngine;
using System.Collections;

public class rotate : MonoBehaviour {

    // Update is called once per frame
    void Update () {
        transform.Rotate (new Vector3 (0, 0, 30) * (float)5);
    } }

i placed a cube (not at center) with rigidbody on the cylinder, but it is not moving, anyone know how to make it moves according to the cylinder except using make parent?

alt text

There.

public float rotateSpeed = 0.5f;
transform.Rotate(0, 0, rotateSpeed*Time.deltaTime);