со следующими маршрутами Я стараюсь достичь цели, чтобы представить статические ресурсы, такие как условия использования, отпечаток и т. Д. На разных языках, используя разные URL-адреса.Маршрутизация Rails с требованиями
я определил два примера маршрутов для моего отпечатком подобное:
map.imprint ':lang/impressum', :controller => "statics", :action => "imprint", :requirements => {:lang => /de/}
map.imprint ':lang/imprint', :controller => "statics", :action => "imprint", :requirements => {:lang => /en/}
Теперь на мой взгляд, я стараюсь использовать вспомогательный путь/URL подобное:
<%= link_to(t(statics.imprint.linkname), imprint_url(:lang => session[language])) %>
где сессия [: язык] - это «de» или «en».
В результате получается рабочая ссылка для маршрута. Но английский терпит неудачу. Если я изменю порядок маршрутов, это наоборот, и английский работает, а немецкий - неудачно.
Ошибка всегда читает так:
imprint_url failed to generate from {:controller=>"statics", :lang=>"de", :action=>"imprint"}, expected: {:controller=>"statics", :action=>"imprint"}, diff: {:lang=>"de"}
Может кто-нибудь помочь с этим?
Спасибо. Jason
... похоже. Hoped, что: требования будут отбрасывать «неправильный» маршрут, чтобы можно было выбрать следующий. Очевидно нет. Спасибо, это мне помогло. –
@ Джейсон Мне жаль, что это было так. Я фактически сделал то же самое предположение пару недель назад. Rails умный, но не тот умный;) –