В настоящее время я обновляю свое Rails-приложение с 2 до 3. Все шло нормально, пока я не закончил работу с файлом rout.rb. Я включу содержание ниже:
myApp::Application.routes.draw do
resources :forum_groups
resources :forums do
resources :topics
end
resources :topics do
resources :posts
end
match "confirm_user", :to => "users#confirm"
resources :users do
resources :comments
end
match "moderated_submissions", :to => "submissions#moderated"
resources :submissions do
resources :reviews
end
match "submissions/:id/download" => "submissions#download", :as => :download_submission
match "submissions/:id/trash" => "submissions#trash", :as => :trash_submission
match "submissions/:id/untrash" => "submissions#untrash", :as => :untrash_submission
match "submissions/:id/moderate" => "submissions#moderate", :as => :moderate_submission
match "submissions/:id/unmoderate" => "submissions#unmoderate", :as => :unmoderate_submission
match "submissions/:id/feature" => "submissions#feature", :as => :feature_submission
match "submissions/:id/unfeature" => "submissions#unfeature", :as => :unfeature_submission
#Will work on this later.
#map.user "users/:username", :controller => "users", action => "show"
#map.page "page", :controller => "static_page", :action => "show"
resources :static_pages do
resources :comments
end
resources :categories
resources :comments, :only => [:destroy]
resources :reviews, :only => [:destroy]
resources :features, :as => 'featured'
resources :announcements do
resources :comments
end
root :to => "pages#root"
match "browse", :to => "pages#browse"
match "login", :to => "sessions#new"
match "logout", :to => "sessions#destroy"
match "register", :to => "users#new"
match ":controller/:action/:id(.:format)"
end
Проблема возникает, когда присутствует любая из этих трех строк:
resources :comments, :only => [:destroy]
resources :reviews, :only => [:destroy]
resources :features, :as => 'featured'
Когда какая-либо из этих строк присутствует в файле rout.rb, я получаю сообщение об ошибке «слишком большой уровень стека» при попытке запустить сервер или консоль.
Если я уберу утверждения, приложение запустится нормально. Если я уберу операторы «: only» и «: as», приложение запустится нормально.
Я попытался изменить порядок маршрутов и удалить их все, кроме этих трех, и ошибка все еще возникает. Я также попытался создать новое приложение с нуля и вставить эти три маршрута. В случае нового приложения оно может начинаться с этих утверждений.
Есть идеи, где может быть проблема?