The Doug proposal will work if the differences between the sites are purely stylish and static - for example, if you basically just βskinβ. But I will be careful after this approach, if the differences are more active than this. You could very easily get a nightmare for maintenance, while all your business logic is surrounded by case statements and many special codes distributed through your application. And you really would feel pain if you wanted to split sites on different servers or make significant functional changes to some of the sites, but not others.
If you expect any significant differences between sites, you can consider developing them as separate Rails projects with common components. Put the code that they divide into gems or plugins, and reserve separate projects for attributes that they do not share. For a small increase in overhead, you will gain much more flexibility along the way.
paulbonner
source share