Это именно то, как вы это делаете.
Тот факт, что он не работает, предполагает наличие некоторой основной проблемы, препятствующей @child
иметь родителя.
Прежде всего, проверьте, что таблицаChild
имеет внешний ключ.Столбец внешнего ключа (в данном случае parent_id
) всегда должен быть в модели, имеющей ассоциацию belongs_to
.
Во-вторых, убедитесь, что у выбранного вами ребенка действительно есть родитель.Это означает, что внешний ключ (parent_id
) не должен быть равен нулю.Если оно имеет числовое значение, убедитесь, что в таблице для Parent
есть запись с тем же значением, что и для Foreign_key в Child
.
. Вы также можете использовать консоль Rails (rails console
из своего приложениясправочник) перепроверить ассоциации.Сделайте Child.first.parent
и посмотрите, что происходит.Конечно, вы можете начать использовать варианты, такие как Parent.first.child
или Child.find(123).parent
, но вы не можете использовать params
.