Не зная, что вы на самом деле делаете внутри блоков, трудно найти лучшее решение.
По большей части, все, что вы действительно могли бы сделать, это select
перед выполнением логики в отфильтрованной коллекции, а не тестировать логику в блоке.
, например
uncurrent_answers = questions.answers.select{|a| a.event_id != @current_event.id}
uncurrent_answers.each do |a|
#do whatever
end
ИМХО, это немного аккуратнее, и, возможно, более рубиново ..