I have such lines in routes.rb:
scope "/:subdomain/" do resource :order, :only => [:new, :create, :show, :update, :edit, :destroy] do get :cancel, :on => :member put :counter, :on => :member end end
And for example, this is typical url: http://mydomain.com/some_subdomain/order/new . This url is mapped to action new of orders controller with params[:subdomain] = "some_subdomain". I want to use named route new_order_url(:subdomain => "some_subdomain").
But I want to map http://mydomain.com/order/new to orders controller, action new and params[:subdomain] = "default". And I want to use named route new_order_url for such url.
What is the best practices to do it?
The answer is "use () and defaults"
scope "/(:subdomain)", :defaults => {:subdomain => "default"} do ... end
http://guides.rubyonrails.org/routing.html#dynamic-segments and http://guides.rubyonrails.org/routing.html#defining-defaults
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With