我正在玩rails3-jquery-autocomplete宝石,这对我很有帮助。这是一个示例,如何查看我的自动完成输入:
= f.autocomplete_field :interest, autocomplete_interest_users_path, :"data-delimiter" => ','
因为很多时候我需要在输入中写下很多单词,这就是为什么使用 textarea 而不是默认的输入会更好,但是怎么做呢?有什么想法吗?
提前谢谢。
答案 0 :(得分:1)
或许像http://rightjs.org/ui/tags/demo这样的东西?有一篇关于在http://st-on-it.blogspot.com/2011/04/making-tags-with-rails-and-rightjs.html上使用Rails开展这项工作的文章。
答案 1 :(得分:0)
以下是我使用jQuery的方法:
将其添加为帮助者:
module ActionView
module Helpers
module FormHelper
def autocomplete_text_area(object_name, method, source, options ={})
options["data-autocomplete"] = source
text_area(object_name, method, rewrite_autocomplete_option(options))
end
end
end
class ActionView::Helpers::FormBuilder
def autocomplete_text_area(method, source, options = {})
@template.autocomplete_text_area(@object_name, method, source, objectify_options(options))
end
end
end
这是你在Rails中扩展表单助手的方法。我们在这里做的是添加我们自己的方法,我们可以在我们的视图中调用。
现在,将其添加到您的一个javascript文件中:
$('textarea[data-autocomplete]').railsAutocomplete()
这会设置autocomplete js脚本来监听并回复我们的textarea。
现在你应该可以在你看来做这样的事情了:
f.autocomplete_text_area :name, autocomplete_menu_item_name_menus_path, placeholder: "Menu Item Name", class: 'input-lg menu_item', size: "45x2"