Here, David is said to cook very rarely. Therefore, we can use the idiom 'once in a blue moon' in this case. Similarly, he is said to feel sad when people don't eat the food he cooks. Hence, we use the idiom 'feels blue' to imply that he feels sad. Therefore, 'David, who cooks once in a blue moon, feels blue when people don't eat the food he cooks' is the correct answer.