include_join_fields са за релации много към много, където имате countries_users обобщена таблица и потребителите могат да принадлежат към много държави.
Например, можете да вземете един user и countries , където принадлежи. Но вие също така съхранявате, как е user свързани с тази country . Трябва да съхраните това допълнително поле във вашата обобщена таблица:countries_users .
И така, вашата обобщена таблица, countries_users ще изглежда нещо подобно, с примерно допълнително поле is_he_working_there :
id
country_id
user_id
is_he_working_there
Когато правите заявка за страните на потребителя, Datamapper няма да добави това поле по подразбиране. И тук идва include_join_field() , така че ако го извикате, Datamapper ще добави това поле към крайния резултат.
Но с hasone , това няма да има ефект, защото получавате потребителя и другите полета на таблицата също. Тук няма обобщена таблица, така че нямате нужда от include_join_fields()