Обновление Rails 3 - Маршруты - Неинициализированная константа с другим именем

Я обновляю Rails 2.3.8 до 3.0.3 и не получаю удовольствия. У меня есть маршрут:

# for UserApp objects
  resources :user_apps, :path => "apps" do 
    # A UserApp has_many components
    resources :components, :only => [:index, :update], :controller => "user_app"
    # and a UserApp has_one AppConfig object
    resource :app_config, :only => [:show, :edit, :update], :path => "config/basics", :controller => 'config/basics'
  end

Рейк-рейки для этого шоу:

edit_user_app_app_config GET    /apps/:user_app_id/config/basics/edit(.:format)         {:action=>"edit", :controller=>"config/basics"}
     user_app_app_config GET    /apps/:user_app_id/config/basics(.:format)            {:action=>"show", :controller=>"config/basics"}
                         PUT    /apps/:user_app_id/config/basics(.:format)           {:action=>"update", :controller=>"config/basics"}

но когда я ссылаюсь на этот путь, я получаю сообщение об ошибке:

uninitialized constant RbConfig::BasicsController

Вопрос в том, почему здесь появился Rb? (и как мне это исправить)

1 ответ

Решение

Я не знаю о Rb. Но я уверен, что конфиг - это какое-то зарезервированное слово. У меня был метод действия с именем config в приложении Rails 2.3.5, который бомбил при обновлении до Rails 3. Мне пришлось переименовать его, чтобы он работал. Попробуйте переименовать контроллер и посмотрите.

Другие вопросы по тегам