Я начинаю изучать некоторые аспекты, связанные с зачислением в приложение для рельсов. У пользователей много зачислений; зачисления относятся к уроку; в записях есть много word_expositions и scrambled_words.Вспомогательный метод для создания списка выбранных пользователей
Я написал вспомогательный метод в контроллере уроков для получения списка зачисленных пользователей, для отображения на каждый урок шоу странице:
helper_method :enrolled_users
def enrolled_users
lesson = Lesson.find(params[:id])
enrollments = lesson.enrollments
enrolled_users = enrollments.map { |enrollment| enrollment.user }
end
Я сейчас пытаюсь реализовать помощник completed_expos, так что я могу указать рядом с каждым пользователем, завершили ли они экспоненциальный компонент моего приложения. Что я имею:
helper_method :completed_expos
def completed_expos
lesson = Lesson.find(params[:id])
completed_expos = enrolled_users.map do |user|
current_enrollment = lesson.enrollment_for(user)
all_expos = current_enrollment.word_expositions
all_expos.all? { |expos| expos.completed == true }
end
end
Я хотел бы добавить уведомление рядом с каждым зарегистрированным пользователем о том, завершили ли они экспонирование. Так что я попытался это:
<% enrolled_users.each do |user| %>
<ul>
<li><%= user.username %></li>
<% if completed_expos.include?(user) %>
completed
<% end %>
</ul>
<% end %>
но эффект в том, что, хотя Зарегистрировавшиеся пользователи перечислены, нет никаких указаний относительно завершения экспо в тех местах, где он должен перечислить его. Как я могу выбрать эту подгруппу пользователей?