I did two quick examples to show this.
I changed Jeff Baker's Happiness rating to 100, and he hates Colorado and wants to leave. It's because of the ambition and community ratings.
Attachment 24231
And here's Brad Hawpe. I changed his Happiness rating to 0, and he likes living in Colorado.
Attachment 24232
Note that it's not their "total fit" into your team either as Hawpe is a worse overall fit (D- to D+).
Unfortunately, if you go into League Settings and turn up the section for the impact that a player's happiness has on negotiation and performance, Hawpe would likely play worse and Baker would likely play better, even though Baker "hates" it and Hawpe "loves" it in Colorado, because of their happiness ratings.
So don't go by what the card
says (unless you want to use your imagination more), but instead by the
ratings. If the dialogue bothers you (hates the city, wants to leave, it's too hot, it's too cold, wants to play with a bum that retired seven years ago, etc.), just go ahead and change the ambition and/or community ratings and leave the rest alone. Like I said, they're randomly generated anyway.