Keeping models in scope of an account, build method, etc.

I'm working on a hosted type app whereby most models are in the scope
of an "account". Categories belong to accounts, posts belong to
categories, comments belong to posts. However I also made posts and
comments belong to accounts as well, for two reasons -

- being able to get orphaned posts for an account (ones where the
parent category was deleted, and the foreign key is NULL)

- easy way to get posts for an account outside the scope of
categories:
@account.posts.find(:all, :order => "num_views DESC")

The problem I am having is with the build method and creating new
rows. This code will not keep the newly created post in scope with the
account (only the category):

@account.categories.find(1).posts.build

nor will this of course:
@category = @account.categories.find(1)
@category.posts.build

I've tried to avoid setting the account_id or category_id manually in
every part of the app, but is this my only option in this case? Or is
there a more elegant way of doing this in order to ensure consistency?

Thanks for any help :slight_smile: