First of all I would like to start using myself as an example of the average gym rat. I was a skinny little kid and I was obsessed with lifting but I could not gain any size or weight. And it went on like that for a while. That's when people start complaining about having bad genetics or being a "Hard Gainer", and I was one of them. Then one day I heard this giant in my gym talking to another guy about how important food is to the bodybuilder. That's what most of us fail to realize. I was getting interested and listened to the rest of their conversation. So, from that moment I started eating, and when I say eating I mean every two hours, all day long. Especially a lot of protein and complex carbs.
Can you guess what happened? I started growing. I put on 35 lbs during the next five months, Mostly muscle, and added anywhere from 2-6 inches to all my body parts. Not only that, but my strength gains flew through the roof. I'm not on a picky diet where I count all my calories, I just eat. Yes, you will put a little on your stomach but you'll really start packing on the muscle.
I try to eat around 40-50 grams of protein per meal, and usually have to count on protein shakes for two of my meals every day. Also it's very helpful to have some carbs along with your protein shake to help increase the absorption of the protein.
Personally, I hate tuna, and it does get hard eating so often and trying to get enough protein so I do eat a lot of protein bars and I depend on a lot of eggs and chicken breasts etc. But my main source, and also my favorite is beans and rice. Eating them together makes it a complete source of protein and high quality carbohydrates, and you can put them in tortilla shells and make tacos out of them. They also contain no fat. I prefer black beans and brown rice with some salsa, sour cream and guacamole.
I contribute a lot of my gains to eating a lot of beans and rice. That is if you can stand all the gas. I don't count my calories but I try to get as many as I can and keep my fat at a reasonable level.
After awhile it does get hard to keep up a eating schedule like this and my parents also complain since I'm always eating and get mad if I can't eat at a certain time. Because it does kinda get in the way, like food controls my life. But you may want to take a break after you reach your goals and start doing some cardio and cut down on the food. If you want to get the maximum gains I would recommend cutting out all cardio while on a bulking phase. remember, eat to grow, or you aren't gonna go. Look for my next article which will be on "How to add inches to your chest".
Keep on growing!