こんにちは、現役沖縄フリーランスエンジニアのmah(MaLanka)です。
このブログでは、
僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、
ノウハウなどを書いていきます。
今回は、
- 【ActiveAdmin】select_boxで表示するcollectionのscopeを指定したい
について書いていきます。
select_boxで表示するcollectionのscopeを指定したい
結論
collectionオプションを使います。
collectionの引数に、
scopeを渡してあげればOKです。
- 例
f.inputs for: [:plan, f.object.plan || Plan.new] do |p| p.input :name, as: :select, collection: Plan.all.map(&:name) # Planモデルの全nameをセレクトボックスの選択肢として表示 end
選択状態にしたい値がある場合は、
options_for_selectを使い、
第二引数にselectedオプションを指定します。
f.inputs for: [:plan, f.object.plan || Plan.new] do |p| p.input :name, as: :select, collection: options_for_select(Plan.all.map(&:name), selected: p.object.name) end
補足
ActiveAdminのformは、
Formtasticというgemを使っているので、
Formtasticのドキュメントを見るのが良いです。
RailsやRubyを学びたい人へ
RailsやRubyを学びたい人は、
RailsHack(レイルズハック)という、
最近できた新しいプログラミングスクール(今なら通常価格69,800円が、早期割で29,800円!)か、
Udemy
で下記のコースを受講すると良いです★
✅1. フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座
✅2. 【はむ式】ハンズオンで学ぶRuby on Rails 6【Dockerにも触れられる】
<- おすすめ。ハムさんはReactやTypeScriptの教材も非常に丁寧。
✅3. はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう
また、
Udemy
は定期的にセールをやっていますし(90%OFFとかもザラ)、
「30日間なら返金できる」ので、
満足できなかった時でも安心です。