Rails: как использовать область с параметрами и использовать маршрут со значением по умолчанию для параметров - PullRequest
16 голосов
/ 03 ноября 2010

У меня есть такие строки вways.rb:

scope "/:subdomain/" do
  resource :order, :only => [:new, :create, :show, :update, :edit, :destroy] do
    get   :cancel,    :on => :member 
    put   :counter,   :on => :member 
  end
end

И, например, это типичный URL: http://mydomain.com/some_subdomain/order/new.Этот URL-адрес сопоставляется действию нового контроллера заказов с параметрами [: subdomain] = "some_subdomain".Я хочу использовать именованный маршрут new_order_url (: subdomain => "some_subdomain").

Но я хочу сопоставить http://mydomain.com/order/new с контроллером заказов, действием new и params [: subdomain] = "default",И я хочу использовать именованный маршрут new_order_url для такого URL.

Как лучше всего это сделать?

1 Ответ

29 голосов
/ 05 ноября 2010

Ответ "use () и значения по умолчанию"

scope "/(:subdomain)", :defaults => {:subdomain => "default"} do
  ...
end

http://guides.rubyonrails.org/routing.html#dynamic-segments и http://guides.rubyonrails.org/routing.html#defining-defaults

...