map.resources + has_many + STI + :only

Hello

I have product model that has a given workflow (given by state_machine). Then I have 2-3 versions of product that have a slightly different workflow. Since state_machine has a elegant way of handling class inheritance (compared to aasm), I have 2-3 models that inherit from Product. (ProductOne, ProductTwo, etc). The Product model has_many transisions. this is a hm relationship that basically handles all transisions/events RESTfully. I also get transision logging by having this transision model.

My question is how this is implemented as DRY as possible in routes.rb. this is how my routes.rb looks like today:

map.resources :products do |product|   product.resources :transisions, :only => [ :index, :new, :create ] end map.resources :product_one, :as => 'products', :controller => 'products' do |product|   product.resources :transisions, :only => [ :index, :new, :create ] end map.resources :product_two, :as => 'products', :controller => 'products' do |product|   product.resources :transisions, :only => [ :index, :new, :create ] end map.resources :product_three, :as => 'products', :controller => 'products' do |product|   product.resources :transisions, :only => [ :index, :new, :create ] end

Is there a more elegant way to handle this. goal is to have only "products" routes. I do not want separate routes for each variant of product.

I tried this but it did not work :-): map.resources :products, :has_many => [ :transisions => { :only => [:index, :new, :create] } ]

/MartOn