Предполагая, что ваша коллекция включает Enumerable
(например, Array
и т. Д.), Вы можете использовать any?
, который возвращает true, если любая итерация блока возвращаетtrue:
@blah << i if self.Roles.any? { |role| role.id == i.role_id }
Если ваш пользовательский класс настроен так:
class User < ActiveRecord::Base
# some stuff
has_many :roles
end
и используемый вами метод находится где-то в классе User
, вы, вероятно, хотите что-токак это:
SomeOtherCollection.each do |i|
@blah << i if self.roles.any? { |role| role.id == i.role_id }
end