はじめに
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大好きになってきてます
終わり