1
class Category < ActiveRecord::Base 
    serialize :blocked_user_ids, Array 
end 

檢視:如何用序列陣列一起使用collection_check_boxes

<%= collection_check_boxes(:category, :blocked_user_ids, User.all, :id, :full_name) %> 

阻塞用戶的ID被存儲在串行化屬性blocked_user_ids

將所有使用collection_check_boxes的用戶的已選中/未選中的框傳遞給控制器​​可以很好地工作。

我不知道如何顯示存儲在blocked_user_ids數組中的每個ID的複選框?然後

回答

0

<%= collection_check_boxes(:category, :blocked_user_ids, User.all, :id, :full_name) %>

將成爲

# Probably NOT a good idea to interate through all Users! 
- User.all.each do |user| 
    # assuming user has a `name` attribute 
    %label 
    = check_box_tag "category[blocked_user_ids][]", 
     value = "#{user.id}", 
     checked = (@category.block_user_ids.include? user.id.to_s), 
     id: "blocked_user_ids_#{user.id}" 
    "#{user.name}" 
+0

我沒有測試此代碼,所以可能有一些錯別字,隨時讓我知道,如果它不工作,我可以修復它。 –