Ошибка плагина auto_complete: не удалось найти вопрос с идентификатором = auto_complete_for_ - PullRequest
0 голосов
/ 01 июня 2010

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

Что касается автозаполнения, я пытаюсь, чтобы форма, расположенная в файле /views/questions/show.html.erb, имела доступ к таблице тегов и отображала записи в столбце tags.tags_name.

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

Processing QuestionsController#show (for 127.0.0.1 at 2010-05-31 15:22:20) [GET]
  Parameters: {"tag"=>{"tag_name"=>"a"}, "id"=>"auto_complete_for_tag_tag_name"}
  Question Load (0.1ms)   SELECT * FROM "questions" WHERE ("questions"."id" = 0) 

ActiveRecord::RecordNotFound (Couldn't find Question with ID=auto_complete_for_tag_tag_name):
  app/controllers/application_controller.rb:15:in `init_data'

По какой-то причине я фактически передаю имя поля в виде Question.id.

Настройка плагина довольно проста, поскольку вы добавляете в свой контроллер следующую строку:

auto_complete_for :tag, :tag_name

и следующая строка в вашем routes.rb файле:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get }

Я добавил строку контроллера в мой контроллер тегов и вопросов, а также сопоставил ресурсы для тегов и вопросов в моем файле rout.rb:

map.resources :tags, :collection => {:auto_complete_for_tag_tag_name => :get }
map.resources :questions, :collection => {:auto_complete_for_tag_tag_name => :get }

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

UPDATE:

My QuestionsController # show action - рыбалка сообщений от:

@question = Question.find(params[:id])

1 Ответ

0 голосов
/ 01 июня 2010

Нашел ответ. Псих. Вам просто нужно добавить это в ваш файл rout.rb:

map.auto_complete ':controller/:action',
     :requirements => { :action => /auto_complete_for_\S+/ },
     :conditions => { :method => :get }

Вот где я его нашел.

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