2011-12-21 2 views
4

Как сделать путевые помощники для этого маршрута?Rails 3.1.3 пользовательская маршрутизация по дате

resources :news 

match 'news/:year/:month/:day' => 'news#show', 
    :constraints => { :year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/ }, 
    :as => 'newsdate' 

Я пробовал много способов, но это не работает:

link_to news.created_at.strftime '%d.%m.%Y ', newsdate_path(:year => '2011', :month => '11', :day => '11') 

я получаю сообщение об ошибке приложения для этой строке ПОЛУЧИТЬ http://localhost:3000/news:

ArgumentError in News#index 

    Showing /home/foxweb/work/dev/app/views/news/index.html.slim where line #6 raised: 

    wrong number of arguments (2 for 1) 

Как сделать это правильный путь?

P.S. http://localhost:3000/news/2011/11/11 отлично работает.

ответ

5

О, это распространенная ошибка. Вы должны принять аргументы strftime в фигурных скобках.

link_to news.created_at.strftime('%d.%m.%Y'), newsdate_path(:year => '2011', :month => '11', :day => '11') 

Вот и все!

+0

Иными словами, ошибка возникает в link_to, а не в маршруте. –

+0

ОК, я ... но Ошибка маршрутизации 'Нет совпадений маршрутов {: controller =>" news ",: action =>" show ",: year => 2004,: month => 9,: day => 15} ' – foxwwweb

+0

Покажите нам свои выходные данные. –

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