Я прошел через Railscast для плагина auto_complete (здесь: http://railscasts.com/episodes/102-auto-complete-association), и запустил его, хотя у меня немного другая настройка.
Но вот в чем проблема: в Railscast примером является ассоциация: own_to, а у меня has_many: through. Я использовал collection_select, чтобы получить список ингредиентов для выбора из выпадающего списка, но было бы намного лучше, если бы я мог использовать автозаполнение. Проблема в том, что поле из коллекции collection_select возвращает component_id, что также является поведением, которое мне нужно для auto_complete. Есть ли способ заставить это работать с плагином auto_complete?
Я продолжаю находить ссылки на скриптовую демоверсию автозаполнения, но она исчезла: (
Раньше, с collection_select:
<%= f.collection_select :ingredient_id, Ingredient.all, :id, :name, :prompt => "Select an Ingredient"%>
Теперь с половинной обработкой auto_complete:
<%= text_field_with_auto_complete :ingredient, :ingredient_name, {:size => 15}, {:url => formatted_ingredients_path(:js), :method => :get, :with => "'search=' + element.value"} %>
рецепт модели:
has_many :ingredient_amounts
has_many :ingredients, :through => :ingredient_amounts
def ingredient_name
end
def ingredient_name=(name)
self.ingredient = Ingredient.find_by_name(name) unless name.blank?
end