нормально так что я этот помощникЕсть ли лучший способ сделать это найти в рубин
def playlist_count(user, site_id)
user.companies.local(site_id).map(&:playlists).flatten.count
end
который будет возвращать счетчик списка воспроизведения для всех компаний
class Playlist < ActiveRecord::Base
belongs_to :company
scope :active, where('end_date >= ? AND player_id IS NOT NULL', Date.today)
class Company < ActiveRecord::Base
has_many :playlists, :dependent => :destroy
scope :local, lambda{ |site_id| where(:site_id => site_id) }
проблема это помощник становится уродливым, а другая проблема в том, что мне нужны активные плейлисты (определенные моей областью в модели плейлиста)
Есть ли способ очистить мой помощник или использовать область вместо этого, чтобы получить активный список плейлистов для всех пользователей компании
Вы должны обернуть активную область аргумента в лямбда, так что Date.today оцениваются в любое время области называется. 'scope: active, lambda {where (...)}' –