Typically people building multi-tenant applications will scope the
data based on an Account model (or something similar) which is loaded
at request time by fetching a record based on the request host. That
is, each account has its own subdomain, so you know which data to load
based on that. In your case, a Forum could have a domain field, and
you have a before filter that loads the forum based on request.host,
and then displays posts scoped to that forum: e.g.
@forum.posts.find(:all) in the index action.
It just so happens that I have code that implements this very model,
along with all the code needed to implement recurring billing, should
you be building something you want people to pay you to use. :) Check
it out at
http://railskits.com/saas/ -- it's not free, but it would
come in very handy for you.
----
Benjamin Curtis
http://catchthebest.com/ - Team-powered recruiting
http://www.bencurtis.com/ - Personal blog