У меня здесь запутанная проблема. У меня две модели с отношением has_one. У меня есть форма, которая использует fields_for для создания дочернего экземпляра. Однако, когда я пытаюсь получить доступ к родительскому элементу из дочерней модели, он получает только нуль.Невозможно получить доступ к родительскому процессу ребенка через has_one
Я попытался дать краткий и простой пример вопроса ниже:
class Parent
has_one :child
accepts_nested_attributes_for :child
attr_accessible :child_attributes
end
class Child
belongs_to :parent
validate :parent_is_called_mum
def parent_is_called_mum
parent.name.equals?("mum")
end
end
Проблема заключается в том, что parent.name.equals?("mum")
возвращает ошибку:
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.name
Почему отношения возвращаются как ноль?
Сверху моей головы, следует ли «родитель» капитализироваться как «Родитель»? –
Я думаю, что это было бы на уровне класса, и я хочу получить доступ к экземпляру этого класса, связанного с дочерним. – amaseuk
Ах, да, я думаю, вы правы. =) –