2015-10-15 25 views
1

我需要顯示一個動態值列表,以在Active Admin編輯屏幕上顯示爲複選框,其中列表來自代碼(不是數據庫)。我可以很容易地做到這一點,但我無法弄清楚如何顯示其中一些被檢查。 checkboxes活動管理員:自定義check_box輸入

這裏是什麼,我試圖做一個簡單的例子:

names = %w(Sam Darcy Ernie) 
pairs = Hash[names.zip(names)] 
f.input :buddies, as: :check_boxes, collection: pairs, checked: %w(Sam) 

什麼我希望的是顯示3個複選框,並有「薩姆」框中選中。沒有被檢查。我能做些什麼來控制選中的複選框?

+0

你可以很容易地設置Sam用javascript進行檢查,但知道山姆是否被故意取消選中後續編輯屏幕將是困難的,這真的要求作爲has_many關係進行管理。 –

+0

@MikeK。謝謝,我希望AA的check_box支持在頁面呈現中設置「checked」屬性。正如你所提到的,has_many會是理想的,但是當我這樣做時,我只能迭代並顯示已保存的內容,而不是已經作爲好友關聯的名稱。 – user605331

回答

1

我結束了其功能如同期望以下:

people = [ 
    ['Sam', 0, checked: true], 
    ['Darcy', 0], 
    ['Ernie', 0], 
] 
f.input :buddies, as: :check_boxes, collection: people 

似乎超過第一2數組項用於設置屬性。所以在我的情況下,「檢查」屬性設置,導致元素屬性checked="checked"

我仍然有興趣知道是否有更好的方式來處理這個。