Rails 6.0.0.beta3
Рубин 2.6.1
У меня есть две модельные ассоциации между Item
и Variant
, как показано ниже:
class Item < ApplicationRecord
...
has_many :variants
accepts_nested_attributes_for :variants,
reject_if: :all_blank,
allow_destroy: true
end
и модель варианта, как показано ниже:
class Variant < ApplicationRecord
belongs_to :item, -> { where(kind: :article) }
end
Как и выше, у нас есть условное отношение для belongs_to
, которое зависит от Item
поля kind
, чтобы иметь значение article
.
Задача :
При создании item
, который имеет вложенные поля формы для variant
, он повышает валидацию, как и ожидалось для kind: :article
, но повышает для всех других значений kind
, как kind: :novel
.
На консоли рельсов я пытался вручную создать
item = Item.create(kind: :article)
item.variants.create
...
item = Item.create(kind: :novel)
item.variants.create
it raises validation error 'should be of kind: :article only'
работает в консоли, но не с вложенными полями форм.
Другое связанное известное дело проблемы: https://github.com/rails/rails/issues/25198