Auto_complete_for вопрос - PullRequest
       5

Auto_complete_for вопрос

0 голосов
/ 05 января 2010

Я недавно установил этот плагин и хотел создать поле Tag с ним, как это делает StackOverFlow.

Когда я добавляю следующий синтаксис в свой AnnouncementsController (я хочу пометить объявления), он прекрасно работает:

  auto_complete_for :announcement, :title
  protect_from_forgery :only => [:create, :delete, :update]

Также мне пришлось добавить синтаксис маршрутов, чтобы он работал:

map.resources :announcements, :collection => {:auto_complete_for_announcement_title => :get }

Теперь, когда я пытаюсь сделать то же самое с тегами, во время создания нового объявления я просто заменяю слово «объявление» для «тега» и «заголовок» для «имени», и оно выигрывает т работа. Тег делает ссылку на мою таблицу тегов в базе данных.

Ошибка говорит следующее:

<code><h1>   ActiveRecord::RecordNotFound

    in AnnouncementsController#show    </h1> 
<pre>Couldn't find Announcement with ID=auto_complete_for_tag_name

Кто-нибудь может сказать мне, что я делаю неправильно?

Спасибо, Brian

Ответы [ 2 ]

1 голос
/ 05 января 2010

На ваш взгляд, вы, вероятно, хотите изменить:

<%= text_field_with_auto_complete :announcement, :title %>

до:

<%= text_field_with_auto_complete :tag, :name %>

чтобы заставить его работать, взгляните еще раз на ошибку, которую он выдает, она все еще вызывает объявление.

--- редактировать:

из источника автозаполнения :

 def text_field_with_auto_complete(object, method, tag_options = {}, completion_options = {})
0 голосов
/ 06 января 2010

Ну, я наконец-то получил ответ на мою проблему.

Мне не хватало следующего на маршрутах .rb:

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

Мой новый вопрос теперь работает:

Что делать, если я хочу добавить несколько тегов к объявлениям, например: "Ruby, C #". Должен ли я изменить логику плагина или есть функциональность, чтобы сделать эту работу? Потому что прямо сейчас он проверит текст text_field, не различая новое слово после запятой или любого вида разделителя.

Спасибо, Brian

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