I use Z-clamps. I cut a 1/8" slot in the rails for the Z-clamp to ride in. The Z-clamp is either screwed to the table top underside or to a small block that is attached to the underside of the top. I have to be sure the Z-clamp screw does not go through the top!
The Z-clamps provide enough play to accommodate seasonal movement in the tables I have made.
I get the Z-clamps from Rockler they are listed as "Table Top Fasteners".