а если через рубишный запрос
Board.where.not(id: Board.distinct.pluck(:previous_board_id)).count
D, [2020-12-08T15:38:53.992477 #4] DEBUG -- : (1.7ms) SELECT DISTINCT “boards”.“previous_board_id” FROM “boards”
D, [2020-12-08T15:38:54.001051 #4] DEBUG -- : (2.2ms) SELECT COUNT(*) FROM “boards” WHERE NOT ((“boards”.“id” IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $50, $51, $52, $53, $54, $55, $56, $57, $58, $59, $60, $61, $62, $63, $64, $65, $66, $67, $68, $69, $70, $71, $72, $73, $74, $75, $76, $77, $78, $79, $80, $81, $82, $83, $84, $85, $86, $87, $88, $89, $90, $91, $92, $93, $94, $95, $96, $97, $98, $99, $100, $101, $102, $103, $104, $105, $106, $107, $108, $109, $110, $111, $112, $113, $114, $115, $116, $117, $118, $119, $120, $121, $122, $123, $124, $125, $126, $127, $128, $129) OR “boards”.“id” IS NULL)) [[“id”, 228], [“id”, 384], [“id”, 294], [“id”, 394], [“id”, 272], [“id”, 304], [“id”, 448], [“id”, 70], [“id”, 382], [“id”, 162], [“id”, 378], [“id”, 341], [“id”, 386], [“id”, 450], [“id”, 322], [“id”, 406], [“id”, 405], [“id”, 170], [“id”, 389], [“id”, 176], [“id”, 169], [“id”, 276], [“id”, 345], [“id”, 237], [“id”, 180], [“id”, 451], [“id”, 292], [“id”, 323], [“id”, 337], [“id”, 238], [“id”, 236], [“id”, 399], [“id”, 454], [“id”, 452], [“id”, 227], [“id”, 390], [“id”, 173], [“id”, 401], [“id”, 239], [“id”, 235], [“id”, 161], [“id”, 286], [“id”, 306], [“id”, 328], [“id”, 279], [“id”, 291], [“id”, 457], [“id”, 298], [“id”, 244], [“id”, 232], [“id”, 172], [“id”, 324], [“id”, 242], [“id”, 331], [“id”, 251], [“id”, 404], [“id”, 104], [“id”, 171], [“id”, 456], [“id”, 388], [“id”, 165], [“id”, 397], [“id”, 296], [“id”, 179], [“id”, 297], [“id”, 181], [“id”, 466], [“id”, 407], [“id”, 333], [“id”, 325], [“id”, 35], [“id”, 395], [“id”, 387], [“id”, 107], [“id”, 445], [“id”, 233], [“id”, 163], [“id”, 168], [“id”, 400], [“id”, 223], [“id”, 219], [“id”, 241], [“id”, 393], [“id”, 221], [“id”, 285], [“id”, 327], [“id”, 464], [“id”, 312], [“id”, 167], [“id”, 231], [“id”, 290], [“id”, 391], [“id”, 317], [“id”, 284], [“id”, 458], [“id”, 342], [“id”, 459], [“id”, 243], [“id”, 166], [“id”, 344], [“id”, 385], [“id”, 410], [“id”, 46], [“id”, 224], [“id”, 383], [“id”, 336], [“id”, 222], [“id”, 381], [“id”, 183], [“id”, 313], [“id”, 164], [“id”, 254], [“id”, 248], [“id”, 411], [“id”, 392], [“id”, 453], [“id”, 217], [“id”, 218], [“id”, 234], [“id”, 403], [“id”, 177], [“id”, 256], [“id”, 332], [“id”, 182], [“id”, 106], [“id”, 64], [“id”, 110], [“id”, 380], [“id”, 178]]
=> 53