Предположим, у меня есть модель рельсов Survey
, которая has_many: questions
, и необходимо иметь возможность повторять последовательность вопросов ...
Куда я бы поместил метод renumber_questions
(модель опроса, модель вопроса или другой класс, и почему?) и как этот уродливый метод ниже лучше всего написать, следуя правилам ?
def renumber_questions
last_page = 0
new_page = 0
new_seq = 0
questions.unscope(:order).order(page: :asc, seq: :asc).each do |question|
if last_page != question.page
new_page = new_page + 1
end
last_page = question.page
new_seq = new_seq + 1
question.page = new_page
question.seq = new_seq
question.save
end
end