не могу понять смысл следующих строк в файле haml - PullRequest
0 голосов
/ 29 февраля 2012
#{@current_user.allowed_events.size}

#{@current_user.batch_mates.size}

link_to "<span>#{@current_user.related_colleges.size}</span>Colleges".html_safe

в вышеприведенных строках, что это за allow_events.size, related_colleges.size?это встроенные функции?

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Скорее всего allowed_events и batch_mates являются либо ассоциацией, либо методом в модели User (при условии, что это то, на что ссылается @current_user). Загляните в apps/models/user.rb и посмотрите, найдете ли вы там что-нибудь.

Эти методы, скорее всего, возвращают ActiveRecord::Relation, который подобен обертке класса вокруг массива моделей, обычно возвращаемых при поиске в базе данных. В любом случае, класс ActiveRecord::Relation имеет метод size, который очень похож на length или count.

Так что, скорее всего, это просто выплевывание количества разрешенных событий и пакетных сопряжений, которые принадлежат текущему пользователю.

Что касается #{}, который просто запускает Ruby-интерполяцию . Вы также можете сделать это следующим образом:

= @current_user.allowed_events.size

= @current_user.batch_mates.size
0 голосов
/ 29 февраля 2012

Согласно коду current_user является объектом пользовательской модели.related_colleges и allow_events могут быть областями ассоциаций / метода / имени в используемой модели, вам нужно увидеть файл User.rb в модели, чтобы получить его.Я думаю, что это ассоциации (вероятно, has_many), где размер является методом для получения количества связанных объектов

...