Should I split these into two different apps?
You can, but it's not necessary. However, because your users will presumably be the same across the actual site and the business site, it'd be simpler to utilize a single app, rather than persisting the same users across two apps.
If they should be one app, how do I get the separate site to point to the subdomain and use SSL?
There's some fairly complex logic involved with accomplishing this, including making modifications to your hosts file, middleware, and routes. I've found this Ryan Bates' tutorial to be very helpful in setting up my own multi-subdomain installations.
As far as SSL goes, you'll need to configure this in both your Rails app as well as on your production server. You're evidently working with Heroku, so you may benefit from reading Heroku's docs on setting up SSL on their end.
From a Rails perspective, a simpler ground-based approach towards enabling SSL may be to specify that all routes be SSL encrypted:
MyApplication::Application.routes.draw do
resources :sessions, :constraints => { :protocol => "https" }
end
Alternatively, you can declare specific routes to be encrypted:
MyApplication::Application.routes.draw do
scope :constraints => { :protocol => "https" } do
# All your SSL routes.
end
end
You can also look at force_ssl
to protect controller access on an action-by-action basis.
Do I create a separate devise login system as well?
If you're running on a single app, then you can utilize a single Devise installation. This presumes, of course, that the users of your actual site will also be users of your business site.