Вы определили @courses_user = CoursesUser.all
, поэтому коллекция не является ни одним объектом.И вы не можете вызывать complete!
для коллекции, как и ошибка.
Решение:
Выполните итерацию по @courses_user
ивызывайте complete!
для каждого экземпляра следующим образом:
<% @courses_user.each do |cu| %>
<% if cu.complete! %>
<%= link_to "Completed", course, class: "block text-lg w-full text-center text-white px-4 py-2 bg-green hover:bg-green-dark border-2 border-green-dark leading-none no-underline" %>
<% else %>
<%= link_to "View Modules", course, class: "block text-lg w-full text-center text-grey-dark hover:text-darker px-4 py-2 border-2 border-grey leading-none no-underline hover:border-2 hover:border-grey-dark" %>
<% end %>
<% end %>
Примечание:
Чтобы избежать другой потенциальной ошибки, вы должны изменить complete!
на completed!
Это не метод, как complete!
в вашей CoursesUser
модели.
Таким образом, окончательный код будет
<% @courses_user.each do |cu| %>
<% if cu.completed! %>
<%= link_to "Completed", course, class: "block text-lg w-full text-center text-white px-4 py-2 bg-green hover:bg-green-dark border-2 border-green-dark leading-none no-underline" %>
<% else %>
<%= link_to "View Modules", course, class: "block text-lg w-full text-center text-grey-dark hover:text-darker px-4 py-2 border-2 border-grey leading-none no-underline hover:border-2 hover:border-grey-dark" %>
<% end %>
<% end %>