Согласно файлу Readme в проекте, на который вы ссылаетесь, ваше поле формы неверно. У вас есть:
<%= f.autocomplete_field :autocomplete_user_nickname, autocomplete_user_nickname_messages_path %>
В Readme сказано, что это должно быть:
<%= f.autocomplete_field :user_nickname, autocomplete_user_nickname_messages_path %>
[Изменить]
Основываясь на ваших комментариях, я предполагаю, что у вас есть что-то вроде следующего:
class Message < ActiveRecord::Base
belongs_to :user
end
class MessagesController
def new
@message = Message.new
end
end
Я думаю, вы должны использовать что-то вроде следующего для вашего представления:
<%= form_for(@message) do |f| %>
<%= f.hidden_field :user_id, :id => "real_user_id"
To: <%= autocomplete_field_tag 'throwaway_user', '',
autocomplete_user_nickname_messages_path,
:size => 75, :id_element => '#real_user_id' %> <br />
Subject: <%= f.text_field :subject %>
etc...
<% end %>
Таким образом, поле автозаполнения представляет собой просто одноразовые данные, но при автозаполнении оно обновит значение тега реального идентификатора пользователя (с идентификатором real_user_id
), чтобы оно стало идентификатором пользователя, заполнившего данные автоматически.
[Другое редактирование]
Поскольку я не был уверен, в чем проблема после вашего последнего комментария, я решил сделать небольшое приложение самостоятельно. Кажется, у меня все работает нормально, поэтому я предполагаю, что с вашей моделью что-то не так.
Вы можете увидеть, что я сделал для реализации этого, в этом представлении сравнения GitHub; Я пропустил скучные вещи, такие как установка jQuery и пользовательского интерфейса jQuery. Вы можете увидеть, как приложение действительно работает, на снимках экрана в файле readme. Надеюсь это поможет.
person
Michelle Tilley
schedule
02.04.2011