У меня есть модель Product в моем приложении на Rails, его атрибуты можно редактировать, и я хочу, чтобы пользователь комментировал каждое изменение, которое он вносит (хотя комментарий может быть пустым). Итак, Product has_many: comments, он принимает_nested_attributes_for: comments и отклоняет его, если комментарий пуст.
Следовательно, форма редактирования для продукта является многомодельной формой. Проблемы, с которыми я столкнулся:
- Fields_for помощник отображает текстовые области для всех комментариев, принадлежащих продукту, поэтому пользователь может редактировать все предыдущие комментарии. Мне нужно, чтобы отображать поля только для нового.
- Если проверка нарушается и нет комментариев, fields_for ничего не рендерит. Должен ли я каждый раз выполнять @ product.comments.build в представлении перед оператором fields_for, или есть более элегантный способ сделать это?
Может быть, я ошибаюсь и fields_for не подходит в этой ситуации?