nil значение области действия в Ruby on rails

Привет, может кто-нибудь сказать мне, что здесь пошло не так?

@organizations_of_user = user.memberships.verified.pluck :organization_id
@organizations_of_user << nil
@permitted_category_ids= Category.where(......, organization_id:@organizations_of_user)

похоже, что у @organizations_of_user есть некоторые проблемы. Этот код написан одним из моих предыдущих коллег. Я не знаю, что именно делает этот ‹‹ nil, но как-то без этого код вылетает. Но при этом область категории будет отображать только Organization_id : nil.

у кого-нибудь есть идеи?

Большое спасибо!


person MangooSaSa    schedule 15.07.2015    source источник
comment
Что такое сообщение об ошибке, когда код запускается без << nil?   -  person Ryan Crispin Heneise    schedule 16.07.2015
comment
Сервер не может запуститься без <<nil, я думаю, что массив пустой без ‹‹ nil.   -  person MangooSaSa    schedule 17.07.2015


Ответы (1)


@organizations_of_user — это массив

@organizations_of_user = user.memberships.verified.pluck(:organization_id) #Extracts organization_ids in an array [1,2,3...]
@organizations_of_user << nil # Adds nil to the array [1,2,3,nil...]
@permitted_category_ids= Category.where(......, organization_id:@organizations_of_user) #Search for Categories with organization_ids inside the array [1,2,3,nil...]. (nil extracts Categories without an organization_id)
person Erick Eduardo Garcia    schedule 15.07.2015
comment
спасибо за объяснение, это действительно полезно!! похоже, что user.memberships.verified.pluck(:organization_id) ничего не возвращает. Я не знаю, что не так с user.memberships. Обычно это просто user.memberships.pluck, я не знаю, что здесь делает verified, или что-то не так с политикой членства? - person MangooSaSa; 17.07.2015
comment
Я проверяю код членства: validates_uniqueness_of :user_id, scope: :organization_id scope :verified, -> {where("verified_at IS NOT NULL")} атрибут verified_at все время равен нулю, который не создается должным образом. Спасибо за помощь, Эрик! - person MangooSaSa; 17.07.2015