Задать вопрос
@anasasiakiri4enko

Почему по разному работают has_one and has_many?

Добрый вечер.

Делаю следующее для has_many:
rails g model Author name:string (has_many :books - добавляю в модель)
rails g model Book title:string author:references (belongs_to :author - создаётся автоматически в модели)
rails db:migrate
Захожу в rails console и выполняю:
Author.create! name: 'Name'
Author.first.books.create! title: 'Hello i title!!!'
Всё работает.


Делаю следующее для has_one
rails g model User name:string (has_one :profile - добавляю в модель)
rails g model Profile about:string user:references (belongs_to :user - создаётся автоматически в модели)
rails db:migrate
Захожу в rails console и выполняю:
User.create! name: 'Name' (успешно создаётся первый юзер)
User.first.profile.create! about: 'hello world' (не создаётся)


Почему с ассоциацией has_many работает а с has_one такое поведение?
Как мне создавать 1 к 1, в чем ошибка?
  • Вопрос задан
  • 299 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
nbekseitov
@nbekseitov
Ruby developer
Добавляемые методы для has_many и для has_one
user = User.create! name: 'Name'
user.create_profile! about: "hello world"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы