Personally, if you think it might be rats -- and rats live just about everywhere -- then think twice before putting snap traps or poison where your child might reach them. Losing plants is far easier to cope with than having your child harmed.
Rats are almost impossible to fence out. It would be a very expensive proposition, I'm afraid. They easily chew through chicken wire and other lightweight wire fabrics. Welded wire with a mesh of 1/2" x 1" is usually "chew-proof", but you would have to literally build a cage around your entire garden, including a roof. You would also have to bury the bottom edge of the wire a foot or two underground. Rats are very smart, and unlike rabbits, wouldn't have any difficulty figuring out that they needed to dig at the edge of the wire laying on the surface of the ground. They also can tunnel quite deep in the ground, so I'm not sure even 2 feet of underground wire would be sufficient to keep them out.
Depending on where you live (rural, suburban, or urban area), you might want to consider encouraging, or even buying and releasing, harmless snakes, such as garter snakes. Another night predator to encourage would be owls, if your area can offer them a proper habitat. Another possibility would be a "ratter" dog. Most terrier breeds will catch and kill rats, but the Rat Terrier is very well known for its skill at rodent destruction. (Be advised, though, that most terriers are also diggers, and can destroy your yard in short order! It happened to me!
Just some thoughts.
"Isn't it enough to see that a garden is beautiful without having to believe that there are fairies at the bottom of it too?" - Douglas Adams