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) %> 

Идентификатор заблокированного пользователя хранится в сериализованном атрибута blocked_user_ids.

Передача проверенных/непроверенных боксов для всех пользователей с collection_check_boxes контроллером работает отлично.

Интересно, как показать ящик для каждого идентификатора, который хранится в массиве blocked_user_ids?

ответ

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

Я не проверял этот код, так что могут быть некоторые опечатки, не стесняйтесь, дайте мне знать, если это не работает, и я могу это исправить. –