Как использовать collection_check_boxes вместе с сериализованным массивом
class Category < ActiveRecord::Base
serialize :blocked_user_ids, Array
end
Посмотреть:
<%= collection_check_boxes(:category, :blocked_user_ids, User.all, :id, :full_name) %>
Идентификатор заблокированного пользователя хранится в сериализованном атрибуте. blocked_user_ids
,
Передача отмеченных / снятых флажков для всех пользователей с collection_check_boxes в контроллер работает отлично.
Интересно, как показать флажок для каждого идентификатора, который хранится в blocked_user_ids
массив?
1 ответ
Решение
<%= 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}"