質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

3143閲覧

Railsの『options_from_collection_for_select』の初期表示について

asatosi

総合スコア23

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/07/30 11:48

前提・実現したいこと
こんにちは。質問いたします。

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こちらを参考に。
でも
マニュアル探す習慣つけましょう

投稿2020/08/04 12:47

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asatosi

2020/08/08 22:12

コメントありがとうございます。ですが、しりたいのは『options_from_collection_for_select』についてです。よろしくお願いいたします。
winterboum

2020/08/08 23:23

options_from_collection_for_select(collection, value_method, text_method, selected = nil) のoptionのselectedを与えているので、未選択時のpromptがでないのだとおもいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問