Nach dem Upgrade von Rails 3,2-4,1, der folgende Code, der zur Arbeit verwendet Einsparung jetzt versagt:Nach dem Upgrade 4.1, neue polymorphe Assoziationen Rails sind ungültig, wenn sie zusammen mit ihren Eltern
in einem Controller/spec:
post = user.posts.build
post.contacts << contact # contact is a persisted record
post.save! # now fails
ich versuche im Grunde zusammen mit seinem zugehörigen Kontakt den Posten zu speichern, die einen contact_publishment
Rekord on-the-fly erstellen sollten. Der Fehler ist auf den neuen contact_publishment
Rekord: „Veröffentlichbar darf nicht leer sein“
das Modell:
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
Sie erhalten den Fehler auf der '' speichern oder auf der '' << Linie!? – nathanvda
in der 'speichern!'. –
Wäre hilfreich, um Ihre Validierungen zu sehen – Benj