Обновление 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. Мне пришлось переименовать его, чтобы он работал. Попробуйте переименовать контроллер и посмотрите.