I'm wondering if there are any decent e-commerce frameworks done in Rails that are available for general use. My company is looking at upgrading from our existing shoddy Classic ASP solution, and since I am learning Rails in my spare time I'm tempted to look at using it as a solution; right now we're evaluating the PHP-based cart Magento (http://www.magentocommerce.com) which seems really robust, but I don't know PHP beyond the bare basics of it.
I'm looking for any Rails frameworks for a storefront, and I've seen several but I don't know if they will fit our needs because we have somewhat "strange" requirements:
The main thing that we require is the ability to have multiple storefronts, and filter a subset of products for each store. For example, a furniture storefront with a unique layout, that only displays furniture, and a "green" storefront that only shows green products. This sounds like a job for individual controllers/views, since if a layout has the same name as a controller it will override the default application.html.erb file, but it also means that I would need to manually create all of these separate controllers that contain pretty much the same functionality; that doesn't sound very DRY to me. As I said I'm only beginning with Rails; I've worked through the Agile Web Development w/Rails book and I'm looking for something meatier to dig my teeth into, but I'm sure that I won't be able to do any really fancy metaprogramming for some time.
The other thing we need is to separate customers into groups, and then be able to assign a special price (not a discount off of a price, but a totally separate price) based on what group the customer is in. There are a few more flags that we need to track but these are trivial with Rails.
Basically I'm wondering if there's any tool already available that can give me a leg up on this, or if I have to do it myself; I'm sure I could as it doesn't seem like anything really complex, but why reinvent the wheel?
If anyone could offer some suggestions, I would appreciate it greatly.