include_join_fields son para muchas a muchas relaciones, donde tiene un countries_users tabla dinámica, y los usuarios pueden pertenecer a muchos países.
Por ejemplo, podría tomar un user y los countries , a donde pertenece. Pero también almacenas, como es un user relacionado con ese country . Tienes que almacenar este campo adicional en su tabla dinámica:countries_users .
Tu tabla dinámica, countries_users se verá así, con un ejemplo de campo extra is_he_working_there :
id
country_id
user_id
is_he_working_there
Cuando realiza una consulta de los países del usuario, Datamapper no agregará ese campo por defecto. Y aquí viene el include_join_field() , por lo que si lo llama, Datamapper agregará este campo al resultado final.
Pero con hasone , no tendrá ningún efecto, porque obtienes el usuario y los otros campos de la tabla también. Aquí no hay una tabla dinámica, por lo que no es necesario include_join_fields()