Контроллер моего движка rails 3 обнаруживается rails только при каждом втором обновлении страницы, в противном случае возвращает LoadError

#ruby-on-rails #ruby #ruby-on-rails-3 #rails-engines

#ruby-on-rails #ruby #ruby-on-rails-3 #rails-движки

Вопрос:

я разрабатываю движок rails 3, но на самом деле у меня проблемы с загрузкой контроллера каждый раз.

при каждом втором посещении страницы я получаю; LoadError в Webedit / public filesController#index

 Expected /home/anko/.rvm/gems/ruby-1.9.2-p136/bundler/gems/webedit-3e02394235c3/app/controllers/public_files_controller.rb
to define PublicFilesController
  

для воспроизведения (при условии, что bash, ruby 1.9.2 и rails 3);

 rails new webedit-test
cd webedit-test
echo "gem 'webedit', :git => 'https://github.com/ankopainting/webedit.git', :tag => 'v0.0.3'" >> Gemfile
bundle install
rails server
  

затем goto http://localhost:3000/public

он либо сообщит «привет», либо выдаст ошибку.. обновите, чтобы увидеть, что он меняется на противоположное поведение.

буду признателен за любую помощь.. Я потратил некоторое время на ruby debugger, но мне нужно многое понять о том, как работает rails, чтобы получить значимый результат.

Комментарии:

1. Пожалуйста, покажите нам, что в этом app/controllers/public_files_controller.rb . Что я ищу, так это определение класса вверху, поэтому, если вы не хотите показывать весь контроллер, пожалуйста, покажите хотя бы это.

2. github.com/ankopainting/webedit/blob/master/app/controllers/… Я не могу вставить его, но он есть по ссылке выше.

Ответ №1:

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

 app/controllers/webedit/public_files_controller.rb
  

Хотя не совсем уверен, почему он загружался через раз.