Полагаю, вы просто неправильно создали свой URL. Это должно быть как:
<%= link_to "London articles", articles_path(:city_url => "london", :using_city => 1) %>
Вы можете также столкнуться с путями к вашим статьям, потому что вы используете map.articles
дважды. Возможно, второй может быть map.articles_by_city ...
для правильного именования. И в этом случае ваша ссылка изменится так:
<%= link_to "London articles", articles_by_city_path(:city_url => "london", :using_city => 1) %>
Кстати, если вы используете рельсы 3, я предлагаю следующее определение маршрута.
match "(:city_url/)articles/", :controller => "zags", :action => "cities", :using_city => 1, :as => "articles"
Это настраивает для вас оба случая, поэтому :city_url
стал необязательным параметром. В этом случае ваш путь будет articles_path
, а URL будет выглядеть как /articles/
.
Если вы передадите articles_path("london")
, ваш URL будет выглядеть как /london/articles/
Надеюсь, это поможет.