I thought this was already ruled on that it is constitutional?
Yes, and that points out a huge flaw in our judicial system.
A decision by a federal district court judge that something is not unconstitutional does not create an order that binds the parties going forward. It results in the dismissal of that particular claim by that particular plaintiff against the defendant government, but that's it. It is a precedent, but it is not binding on other district court judges. It's only considered "persuasive", not "controlling".
In contrast, if a single district judge does find something to be unconstitutional, they can issue an order against the defendant government that binds the government moving forward. In other words, you can have 20 district court judges say "that's constitutional", but if even one says it is not, that's all they need.
“I thought this was already ruled on that it is constitutional?”
Correct. Conflicting rulings, headed to SCOTUS.