Я пытаюсь сделать приложение с Rails 4.Rails - примеры подсчета, где логическое значение ИСТИНА
У меня есть модель проекта и модель приглашения проекта.
Projects has many project invitations
Project invitations belong to projects
В моем проекте показывают, Im пытаясь подсчитать, сколько приглашений было отправлено и сколько было принято.
Первая часть работает нормально. Для акцептов у меня есть атрибут в моей таблице project_invitation, называемой: student_accepted. Если это так, я хочу считать запись.
<%= @project.project_invitations.size %>
<% if @project.project_invitations.student_accepted == true %>
<%= @project.project_invitations.size %>
<% else %>
'No'
<% end %>
Это дает эту ошибку:
undefined method `student_accepted' for #<ActiveRecord::Associations::CollectionProxy []>
Я также попытался:
<% if project.project_invitations.student_accepted == true %>
<%= project.project_invitations.size %>
Это дает эту ошибку:
undefined local variable or method `project' for #<#<Class:0x007fc01d9dcbe8>:0x007fc01de04248>
Im изо всех сил, чтобы понять, как ссылаться на атрибуты, хотя дельс. Я прочитал несколько книг, но все они берут фоновые знания. У меня был полезный вклад в смежные вопросы (см. Ниже), но я все еще не понимаю концепцию.
http://stackoverflow.com/questions/32916133/rails-how-to-show-attribute-of-an-associated-model
http://stackoverflow.com/questions/32898541/rails-how-to-show-attributes-from-a-parent-object
Может ли кто-нибудь увидеть, что я сделал не так?
Технически он возвращает экземпляр [ActiveRecord :: Associations :: CollectionProxy] (http://apidock.com/rails/ActiveRecord/Associations/CollectionProxy), поэтому сообщение об ошибке. Во многих случаях его можно рассматривать как массив, и его можно преобразовать в массив с 'to_a', но это не объект' Array'. – ihaztehcodez
Справа. В то время как 'ActiveRecord :: Associations :: CollectionProxy' совместно используют некоторые имена методов с' Array', они не совпадают. – wesley6j