Я успешно настроил этот плагин ранее, поэтому мне любопытно, что я здесь делаю неправильно. Я добавил пользователям возможность добавлять теги к вопросам. Я не использую плагин тегов здесь, но это не должно иметь значения для этого.
Что касается автозаполнения, я пытаюсь, чтобы форма, расположенная в файле /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])