text_field_tag i auto_complete_field, Rails 1.2.4

Witam,

Mam form_for(blah,:url=>{:action=>“add”}). Jedno z pól nie jest text_field, tylko text_field_tag, pozostałe są zgodnie z obiektem blah Chcę, żeby była możliwość autouzupełniania tylko tego jednego pola, które jest text_field_tag. Poszukałem w sieci i zrobiłem:

Widok częściowy formularza

[code]<%= text_field_tag :tags, tags.join(" "), :autocomplete=>:off, :id=>“tags” %>

<%= auto_complete_field :tags, :update=>'tags_auto_complete', :url=>{:action=>:autocomplete_tag_field}, :tokens=>" " %>[/code] Kontroler (wewnątrz klasy) [code]def autocomplete_tag_field @list = ["tag1","tag2","tag3"] end[/code] Widok autocomplete_tag_field [code]
    <% @list.each do |l| %>
  • <%= l %>
  • <% end %>
[/code] Mam też javascript_include_tag effects. Kod generuje się jak trzeba, w źródle strony jest javascript, potrzebne elementy, itp. Ale nie działa. Co robię źle i o czym nie wiem?

Dzięki za pomoc,
Sorrow.

Jakieś objawy tego, że “nie działa”? Zaglądałeś do logów serwera? Jest generowany request?

Tutaj przyczyn może być wiele, najczęściej może to być błąd po stronie serwera (czytaj błąd w kodzie) - wtedy po stronie przeglądarki właśnie nic się nie dzieje, ale w logu wyraźnie pojawia się wyjątek.

No właśnie nie jest. W logach mam tylko to, że wyświetla się formularz, natomiast nie ma żadnego wywołania funkcji automatycznego uzupełniania. Dla testów nawet wpisałem nazwę tej funkcji źle w widoku - więc na pewno jakiś błąd by wyskoczył.

Zapewne jest to jakiś szkolny błąd spowodowany tym, że dopiero się uczę :slight_smile:

No właśnie nie jest. W logach mam tylko to, że wyświetla się formularz, natomiast nie ma żadnego wywołania funkcji automatycznego uzupełniania. Dla testów nawet wpisałem nazwę tej funkcji źle w widoku - więc na pewno jakiś błąd by wyskoczył.

Zapewne jest to jakiś szkolny błąd spowodowany tym, że dopiero się uczę :)[/quote]
Może to też być błąd w javascripcie (mało prawdopodobne) lub request wysyłany jest pod zły adres lub nie załączyłeś odpowiednich plików js.
Do pisania aplikacji wykorzystujących Ajax-a najlepiej jest zainstalować sobie rozszerzenie do Firefox-a - Firebug.