Rails 3: слишком большой уровень стека при использовании маршрутов с «: only» или «: as» - PullRequest
1 голос
/ 20 января 2011

В настоящее время я обновляю свое 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», приложение запустится нормально.

Я попытался изменить порядок маршрутов и удалить их все, кроме этих трех, и ошибка все еще возникает. Я также попытался создать новое приложение с нуля и вставить эти три маршрута. В случае нового приложения оно может начинаться с этих утверждений.

Есть идеи, где может быть проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...