Why have you got Entry belongs_to company? If it also belongs_to user
and user belongs_to company then you can just say @entry.user.company.
If you want to be able to say @entry.company then you can use
delegate.
Also, about the relationship with company. If Entry is not related to
Company, how do you deal with:
1. A user is deleted (the company may still want to see her Entries?)
Don't actually delete the user while she still has entries. Just mark
her as inactive or whatever is appropriate. If the entries are still
of interest then it may be of interest who created the entry even if
she has gone.
2. Isn't it inefficient to get all Entries from a company?
company.users.each do ....
Instead of just:
company.entries
Company
has_many :users
has_many :entries, :through => :users