Это не плагин, но с небольшой магией jQuery, вы можете использовать http://github.com/chadisfaction/jQuery-Tokenizing-Autocomplete-Plugin. Приятная вещь в этом заключается в том, что, поскольку он является чистым JS в своей реализации, вы можете создать вызов AJAX самостоятельно в Рельсы и отображают только то, что вы хотите. Он даже позволяет вам добавить таблицу стилей в выпадающий список, если вы хотите сделать ее более похожей на Facebook. В вашем контроллере добавьте функцию, чтобы вызов AJAX возвращал список строк в JSON:
def taglist
tags = []
sql = "SELECT id,name ... LIMIT 15" # Enter SQL here to produce a possible result set
result = ActiveRecord::Base.connection.execute(sql)
# Iterate over the hash values and push them into an array
result.each { |field| tags.push( {"id" => field[0], "name" => field[1]} ) }
result.free
render :json => tags, :layout => false
end
В представлении добавьте следующий код:
<%= javascript_include_tag 'jquery.tokeninput' %>
<%= stylesheet_link_tag 'token-input-facebook' %>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery("#actors_role").tokenInput("/actors/rolesearch", {
allowNewValues: false,
canCreate: false,
hintText: "Enter the actor's name or role they played",
});
});
</script>