Rails 3 - Отсутствуют пути индекса?

У меня довольно странная проблема с одним из моих приложений rails. Я думаю, что, вероятно, делаю что-то действительно глупое, чего я просто не мог определить. Моя проблема в том, что мне кажется, что мне не хватает примерно половины моих путей индекса.

Например, если мой контроллер - "foos" для модели foo, у меня будет:

foos POST   /foos(.:format)      {:action=>"create", :controller=>"foos"}

Но нет опции GET, которая могла бы обычно выглядит так:

foos GET    /foos(.:format)   {:action=>"index", :controller=>"foos"}

Ниже я покажу вам свой код, чтобы помочь мне восстановить мои пропущенные маршруты индекса.

routes.rb:

resource :announcements, :controller => "announcements" do
  resources :comments
  member do
    post 'vote'
  end
end

маршруты для части объявлений:

announcements      POST   /announcements(.:format)      {:action=>"create", :controller=>"announcements"}
new_announcements  GET    /announcements/new(.:format)  {:action=>"new", :controller=>"announcements"}
edit_announcements GET    /announcements/edit(.:format) {:action=>"edit", :controller=>"announcements"}
                   GET    /announcements(.:format)      {:action=>"show", :controller=>"announcements"}
                   PUT    /announcements(.:format)      {:action=>"update", :controller=>"announcements"}
                   DELETE /announcements(.:format)      {:action=>"destroy", :controller=>"announcements"}

Как вы можете видеть там нет get / index. В моем контроллере определен метод простого индекса ...

def index
  @announcements = Announcement.all

  respond_to do |format|
    format.html
    format.xml  { render :xml => @announcements }  
  end
end

Я действительно не понимаю, почему у меня нет этого пути индекса. Это происходит и на нескольких других контроллерах. Приветствуется любая помощь.

Изменить: в консоли app.announcements_path возвращает ошибку отсутствия метода в дополнение к другим, у которых отсутствуют пути индекса.

10
задан ndnenkov 29 March 2018 в 14:21
поделиться