私は自分のウェブサイトに簡単な検索を実装しました。そのアイデアは、「検索するフィールドを選択してから、検索クエリを入力する」というものです。ただし、検索オプションの少なくとも 1 つは、テキスト フィールドの自由度を持たせるのではなく、ドロップダウン メニューに限定する必要があります。
私はいくつかのオプションを読んでテストしており、いくつかの投稿:on_change
といくつかの詳細な JavaScript ソリューションを見てきましたが、何をすべきかわかりませんでした。
現在のビューには のselect_tag
後に がありますがtext_field_tag
、 の値を確認し、select_tag
それを使用して次のフィールドが か かを判断しtext_field_tag
たいと考えていselect_tag
ます。私は Haml を使用しています。これは私の見解です。
#simple-search-options
=form_tag packages_path, :method=>'get' do
Search by:
= select_tag :search_option, options_for_select(@search_options, @option)
= text_field_tag :search_string, @s_string
= submit_tag 'Search'
前の検索で入力された値が何であれ、select_tag
と のデフォルト値を設定していることに注意してください。変数とはそこから来ています。これは、ページが最初に生成されたときに、の値に基づいて何を表示するかを既に選択していることを意味するため、ソリューションが複雑になる可能性があります。text_field_tag
@option
@s_string
@option
div
最初のselect_tag
と の間に を貼り付けたいと思っていましsubmit_tag
たが、コントローラーとビューによってデータが取り込まれますが、それを実行する方法がわかりませんでした。