2016-12-05 106 views
0

對於用戶模型,我有一個過濾器來檢查用整數值(0,1或2)表示的用戶的預訂狀態。ActiveAdmin自定義選擇過濾器的下拉菜單名稱

用戶ActiveAdmin索引頁上的過濾器被用下面的代碼來實現的:

filter :booking_status, as: :select 

然而這導致在下拉選項被爲0,1或2。

我寧願如果當管理員用戶從下拉列表中選擇他們時,我可以自己將其命名爲「不完整」,「待定」和「已確認」。

enter image description here

是否有這樣做不改變booking_status如何在模型表示的方法嗎?

回答

3

假設booking_status在模型中枚舉場,你可以使用:

filter :booking_status, as: :select, collection: ModelName.booking_statuses

如果booking_status不是一個枚舉場,你可以通過一個普通的散列到collection選項,類似:

filter :booking_status, as: :select, collection: {'Incomplete' => 0, 'Pending' => 1, 'Complete' => 2}

相關問題