從Rails的3.2至4.1升級後,其用於以下工作的代碼現在沒有新的多態關聯無效:升級到Rails 4.1後,與父母一起爲他們節省時
post = user.posts.build
post.contacts << contact # contact is a persisted record
post.save! # now fails
基本上,我試圖挽救後與其相關的接觸,這是爲了創建一個contact_publishment
紀錄即時一起。 的錯誤是在新contact_publishment
記錄:「可發佈不能爲空」
模型:
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
你上了''保存或在''<<線上的錯誤!? 'save!'中的 – nathanvda
。 –
將是有益的看到你的驗證 – Benj