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 ファイルの 1 つに追加します。
$('textarea[data-autocomplete]').railsAutocomplete()
これにより、テキストエリアをリッスンして応答するようにオートコンプリート js スクリプトが設定されます。
これで、ビューで次のようなことができるはずです。
f.autocomplete_text_area :name, autocomplete_menu_item_name_menus_path, placeholder: "Menu Item Name", class: 'input-lg menu_item', size: "45x2"