changing angle to shoot an object a certain direction

I am trying to shoot projectiles from a moving object. Picture a floating turret following and rotating around the player. This game is in 3rd person. The crosshair is controlled by the player and the turret is suppose to shoot where the player is pointing. In the playercontroller I have the crosshair set up and a raycastHit that gives me the object and location of where I want to shoot. Then that script calls the script below. the turret shoots but only forwards, never at the object I want it to. Any help would be awesome. Thanks in advance.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Navi_Shoot : MonoBehaviour
{
    public GameObject projectile;
    public GameObject spawnLocation;
    public float t = 5f;

    public void Shoot(Transform target)
    {
        GameObject bullet = Instantiate(projectile, spawnLocation.transform.position, projectile.transform.rotation) as GameObject;
        bullet.SetActive(true);
        bullet.GetComponent<Rigidbody>();
        Vector3 curLocation = bullet.transform.position;

        //set up rotation using quaternion
        bullet.transform.rotation = Quaternion.RotateTowards(bullet.transform.rotation, target.rotation, t);
        //now apply force to go that direction
        bullet.GetComponent<Rigidbody>().AddForce(Vector3.MoveTowards(curLocation, target.transform.position, t));

        Destroy(bullet, 10);
    }
}

Start printing out values to see what is being calculated. Since it is realtime just send it to a temporary onscreen Text field so you can test it in realtime, or you can use Debug.Log() if you prefer.

Further I recommend breaking apart massive lines like line 20 and line 22 above and using intermediate variables so you can isolate what is going on and reason about the problem more effectively.

Also, here is a recent post I made about turret aiming… it may or may not provide insight: