У меня довольно странная проблема с одним из моих приложений rails.Я думаю, что я, вероятно, делаю что-то действительно глупое, что я просто не смог идентифицировать.Моя проблема в том, что мне кажется, что мне не хватает примерно половины моих индексных путей.
Например, если мой контроллер "foos" для модели foo, у меня будет:
foos POST /foos(.:format) {:action=>"create", :controller=>"foos"}
Но нет опции GET, которая обычно будет выглядеть так:
foos GET /foos(.:format) {:action=>"index", :controller=>"foos"}
Ниже я покажу вам свой код, чтобы помочь мне восстановить мои отсутствующие индексы маршрутов.
rout.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
возвращает метод пропускает ошибку, в дополнение к другим, у которых отсутствуют пути к индексам.