У меня есть 2 таблицы: -user_activity: содержит действия идентификатора и идентификатор пользователя -activity: содержит идентификатор, идентификатор пользователя и т. Д.1003 *
есть мой код: -activities содержат ВСЕ действия пользователя -usersactivities_id содержат ВСЕ user_activity пользователя в одной вкладке (например: 10, 2, 3)
def fetch_maj_activities
user = current_user
activities = []
user.groups.each do |group|
activities << Activity.where(group: group)
end
usersactivities_id = current_user.user_activities.select('activity_id').map(&:activity_id).uniq
activities.each do |activity|
if usersactivities_id.include? activity.id
else
activities = activities.flatten.reject {|a| a.id == activity.id}
end
end
@all_activities = activities.flatten.sort_by(&:updated_at).reverse
respond_to do |format|
format.js
end
end
log:
CACHE Activity Load (0.0ms) SELECT "activities".* FROM "activities" WHERE "activities"."group_id" = $1 LIMIT $2 [["group_id", 1], ["LIMIT", 11]]
↳ /home/benjamin/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activerecord-5.2.0.rc1/lib/active_record/log_subscriber.rb:98
NoMethodError (undefined method `id' for #<ActiveRecord::Relation []>
Did you mean? ids):
app/controllers/activities_controller.rb:65:in `block in fetch_maj_activities'
app/controllers/activities_controller.rb:64:in `each'
app/controllers/activities_controller.rb:64:in `fetch_maj_activities'