I just read something yesterday about eating grass and according to this article written by a vet, dogs eat grass because they like the taste, not because it makes them vomit. When they eat their prey, they also eat stomach contents which contains grass, so in summary, dogs eat grass. Brooke eats lots of grass and never vomits, however she does poop it out.
The yellow bile is usually an indication of an empty stomach needing some nourishment.