前提・実現したいこと
こんにちは。質問いたします。
rails で並べ替えの処理を実施しています。
『options_for_select』については、『表示』処理を実施すると、選択した項目が
アクティブではなくなり、『プロンプト』である『選択して下さい』が表示されます。
それに対し、『options_from_collection_for_select』については、『表示』処理を実施
しても、選択した項目がアクティブなままで、『選択して下さい』が表示されません。
『options_from_collection_for_select』についても、『表示』処理後に
『選択してください』を表示させる方法を教えてください。
該当のソースコード
『ビュー部』
ruby
1<br> 2<h3>『(印刷用)予約者一覧』</h3> 3<br> 4<p>表示したい『公演』と表示させたい『並び順』を選択し、『表示』を押下ください。</p> 5<br> 6<%= form_tag(reserved_list_print_path, method: :get, target: '_blank') do %> 7 <p>公演</p> 8 <div class="form-group"> 9 <%= select_tag 'stage_id', options_from_collection_for_select(Stage.all.order(stage_time: "ASC"), :id, :stage, params[:stage_id]), 10 {prompt: "選択して下さい", :class => "form-control-sm"} %> 11 </div> 12 <p>並び順</p> 13 <div class="form-group"> 14 <%= select_tag 'order_id', options_for_select({ 'フリガナ(昇順)': :order_by_buyer_furigana ,'取扱者(昇順)⇒フリガナ(昇順)': :order_by_seller_id_and_buyer_furigana, '登録順(降順)': :order_by_created_at }), {prompt: "選択して下さい", :class => "form-control-sm"} %> 15 </div> 16 <div class="form-group"> 17 <%= submit_tag "表示", 'data-disable-with' => false %> 18 <%= button_to '戻る', :back, method: :get %> 19 </div> 20<% end %>
『コントローラー部』
ruby
1class ReservedListsController < ApplicationController 2 def index 3 @stages = Stage.all.order(stage_time: "ASC") 4 @kinds = Kind.all.order(kind: "ASC") 5 end 6end
やってみたこと
『https://www.eisbahn.jp/yoichiro/2007/07/options_form_collection_for_se.html』
を参考に
『ピュー部』の『params[:stage_id]』を
『params[:stage_id]to_i』に
変えてみましたが、うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
ツールのバージョン
Rails 5.2.4.2
ruby 2.6.3p62
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/08 22:12
2020/08/08 23:23