LoginSignup
0
0

More than 3 years have passed since last update.

【ActiveAdmin】セレクトボックス内の項目を好きな順でソートする方法

Last updated at Posted at 2020-09-27

はじめに

rails_adminを使っていたのですが、セレクトボックス内の項目順序を変えるのすら出来なくて泣き叫んでいました。
調べても調べても分からんかったので、これもしかして出来ないんちゃう……?と。

そこでactive_adminに移行してしまいました。
こちらでは出来ました。

構成

Item belongs_to Kind

active_adminで生成したファイルの設定

app/admin/items.rb
ActiveAdmin.register Item do
  # 変更許可するカラム
  permit_params :name, :kind_id

  # (中略)

  form do |f|
    inputs do
      input :name 
      input :kind, as: :select, collection: Kind.all.order(:name)
    end

    actions
  end

end

.orderで逆順にするなら.order(name: "DESC")

まとめ

うーん美しい。

地味に苦労したのですが、目標を分割したら割とすぐ出来ました。

1.カスタムした配列をセレクトボックスで選ばせる
2.Modelからデータを引っ張ってくる

他の所で配列作ったりしてもいいのですが、最終的にこれで通りました。

もっと言うと、Modelの関連付けがちゃんとしてたらas: :selectもこれ無くて大丈夫です。

それにしても表示カラムの制限とか好き放題やれて、Modelごとに綺麗に分離してるの……気持ちいい……🤤

active_admin大好きになってきてます

終わり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0