¿Necesita crear una clave foránea al crear una tabla en Rails?

Estoy empezando ahora en Rails, busqué en el foro, pero no encontré nada que pudiera resolver mi problema.

Aquí va, tengo una tabla de categorías, y solo tiene un nombre para una columna (no hay repetición en las categorías), así que me gustaría que el nombre sea la clave principal, luego tengo una tabla de productos que tiene nombre, main_photo, descripción y me gustaría decir que un producto solo tiene una categoría, ¿debo agregar una columna denominada categoría como clave externa en los productos?

Se supone que una categoría tiene muchos productos.

Entonces, en los modelos de categoría, ¿cómo digo que el nombre es la Clave principal y cómo puedo hacer la correspondencia entre el nombre de la clave primaria supuesta en categorías y la categoría en productos?

Respuestas a la pregunta(4)

Su respuesta a la pregunta