2010-12-07 3 views
1

Мои маршруты есть:маршрутизации conflicing с другой,/статьи/article_name_here и/статьи/архивы

resources :articles 

article_controller.rb имеет:

def show() 
    @article = Article.find(:first, :conditions => {:title => params[:id]}) 
end 

def archives() 
end 

Теперь шоу() метод respondes к article_name , а не идентификатор.

Так что проблема, URL-адрес:

www.example.com/article/this-is-a-title 

конфликты с:

www.example.com/article/archives 

, как он считает, что параметр 'архивы' является название статьи и карты к действию шоу().

Как это исправить?

ответ

1

Перед определением ресурсов сделать еще один маршрут

match 'article/archives', :to => 'articles#archives' 

Лучшие маршруты имеют приоритет над нижними маршрутами.

Смежные вопросы