Нет маршрутов, соответствующих ресурсам - PullRequest
1 голос
/ 27 августа 2011
  1. rails new example
  2. rails g scaffold widget
  3. rake db:migrate
  4. Отредактируйте маршруты .rb следующим образом: scope ":year" do resources :widgets end
  5. curl <a href="http://0.0.0.0:3000/2011/widgets" rel="nofollow">http://0.0.0.0:3000/2011/widgets</a> успешно
  6. echo "Widget.new.save" | rails c
  7. curl <a href="http://0.0.0.0:3000/2011/widgets/1" rel="nofollow">http://0.0.0.0:3000/2011/widgets/1</a> успешно
  8. Но теперь curl <a href="http://0.0.0.0:3000/2011/widgets" rel="nofollow">http://0.0.0.0:3000/2011/widgets</a> завершается с ошибкой:

No route matches {:action=>"show", :controller=>"widgets", :year=>#<Widget id: 1 .. и т. Д.

Почему это действие кажется «шоу»?Почему он считает, что год является экземпляром виджета?Очень странно.Я получаю тот же результат в рельсах 3.0.9 и 3.1.0.rc6.

Заранее спасибо за помощь.

1 Ответ

2 голосов
/ 27 августа 2011

try

resources :widgets

(с S в конце)

UPD: в index.html.erb вместо

link_to widget 

использовать что-то вроде

link_to widget_path(widget, :year => 2011)

или

link_to widget_path(2011, widget)
...