0
我嘗試在我的rails應用程序上定義一些轉換路線。子域的路由改變定義。所以我想要這個結果:url_for如何檢查我的routes.rb中的約束條件
describe "url_for" do
context 'with en' do
it 'brand translate' do
url_for(
:controller => 'boats',
:action => 'index',
:subdomain => :en,
:brand => 'hello',
:only_path => true
).should == '/yacht-charter/brand-hello'
end
end
context 'with fr' do
it 'brand translate' do
url_for(
:controller => 'boats',
:action => 'index',
:subdomain => :fr,
:brand => 'hello',
:only_path => true
).should == '/location-bateau/marque-hello'
end
end
end
就像你可以看到兩個url_for params之間的唯一變化是子域。我嘗試:
constraints => :subdomain => :en do
match '/yacht-charter/brand-:brand' => 'boats#index', :as => 'en_brand_search'
end
constraints :subdomain => :fr do
match '/location-bateau/marque-:brand' => 'boats#index', :as => 'fr_brand_search'
end
但始終它是第一個定義它使用的路線。第二個是從來沒有定義。
我該怎麼做。這是一個軌道錯誤或不?
我已經測試了這個寶石,它的工作正常,但不適用於像''/ yacht-charter/brand-:brand'這樣的網址,它只能與'/ yacht-charter/brand /:brand'這樣的網址一起使用。 – shingara 2012-04-25 19:09:10