Techioz Blog

非推奨のremote_functionを使用せずにselect_tagでアクションをトリガーする方法

概要

イベントをリストするアプリケーションがあります。ユーザーがカテゴリ別にイベントをフィルターできるようにしたいと考えています。これを行うには、ユーザーがカテゴリを選択できる選択ボックスが必要です。ユーザーがカテゴリを選択すると、JavaScript を使用してそのカテゴリのみのイベントを一覧表示するアクションがトリガーされるようにしたいと考えています。これを行う方法を説明する Stack Overflow の投稿はすべて、remote_function を使用していますが、これは明らかに廃止されました。今、コードを持っています

select_tag "category",
    options_for_select(['Social', 'Academic','Sports and Recreation', 'Arts', 'Religious'])

ドロップダウン ボックスのオプションが変更または選択されたときに、select_tag を使用してアクションをトリガーするにはどうすればよいですか?おそらく :onchange オプションを使用する必要があると思いますが、これを行う方法がわかりません。

解決策

select_tag には、選択の HTML 属性を追加できるオプション ハッシュ (最後のパラメータ) があります。

詳細については、http://apidock.com/rails/ActionView/Helpers/FormTagHelper/select_tag をご覧ください。

onchange 属性を追加するには、以下の例をご覧ください。

select_tag "category", options_for_select(['Social', 'Academic','Sports and Recreation', 'Arts', 'Religious']), :onchange => 'your_handler_function()'