スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス6期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

【ActiveAdmin】select_boxで表示するcollectionのscopeを指定したい

※提携先の広告(リンク、バナー等)を含む場合があります


【ActiveAdmin】select_boxで表示するcollectionのscopeを指定する


こんにちは、現役沖縄フリーランスエンジニアの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のドキュメントを見るのが良いです。

github.com

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日間なら返金できる」ので、

満足できなかった時でも安心です。



【公式】RailsHack(レイルズハック)

【公式】Udemyで学んでみる