Po przejściu z szyn 3,2 do 4,1, następujące kod, który stosuje się do pracy jest obecnie braku:Po przejściu do szyn 4.1 nowe związki polimorficzne są nieważne, gdy zapisywanie ich wraz z rodzica
w sterowniku/ciemno:
post = user.posts.build
post.contacts << contact # contact is a persisted record
post.save! # now fails
jestem zasadniczo próbuje zapisać stanowisko wraz ze związanym z nim kontaktu, który ma stworzyć contact_publishment
zapis on-the-fly. Błąd znajduje się na nowym contact_publishment
rekordu: „Publikowanie nie może być puste”
model:
class Contact
...
has_many :contact_publishments
...
end
class ContactPublishment
...
belongs_to :publishable, polymorphic: true
belongs_to :contact
validates_uniqueness_of :publishable_id, :scope => [:contact_id, :publishable_type]
validates_presence_of :contact, :publishable
...
end
class Post
...
has_many :contact_publishments, as: :publishable
has_many :contacts, through: :contact_publishments
...
end
Otrzymasz Błąd na '' lub zapisać na '' << linii! – nathanvda
w 'zapisz!'. –
Pomocne byłoby sprawdzenie poprawności – Benj