Обновление связанного атрибута записи не работает - PullRequest
0 голосов
/ 28 июня 2018

В сообщении много комментариев. В моем коде я пытаюсь изменить атрибут первого комментария так:

post = Post.find(id)
post.comments.first.title # "initial title"
post.comments.first.title = "foobar"

post.comments.first.title_changed? # false
post.comments.first.title # "initial title"

Это ожидаемое поведение AR? Если да, как я могу изменить атрибуты связанных записей?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Сначала назначьте объект комментария переменной, затем внесите изменения в эту переменную и сохраните

post = Post.find(id)
comment = post.comments.first
comment.title = "foobar"
comment.title_changed? # true
comment.save
0 голосов
/ 28 июня 2018

Да, это ожидается. post.comments.first.title = "foobar" просто назначает заголовок, но не сохраняет его.

Правильный способ обновления - post.comments.first.update(title: "foobar").

Или вам нужно post.comments.first.save после назначения нового заголовка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...