2014-12-23 24 views
11

Bu uyarı kontrolör testlerinin çoğunda benim için (herkes için) gösterilir. Onun için bir uyarı biliyorum ... şimdilik 5'e kadar. Bu kullanımdan kaldırmaya uygun olarak değiştirmek için neye ihtiyacım olduğu konusunda emin değilim. Serialized_attributes ile ne değişti? Bu uyarıyı yapmak istemiyorum ve kodumu 5.0'a hazırladım ... ama nasıl devam edeceğime emin değilim. Teşekkürler.Raylar 4.2 DEPRECASYON UYARI: `serialized_attributes` değiştirilmeden kullanımdan kaldırılmıştır,

güncelleme

bir kontrolör testi standart bir güncelleme eylemi isabet ... Ben hatayı alıyorum: (Bu örnek için özet) testinde

@document.update_attributes(document_params) 

:

before do 
     @document = documents(:drivers_license) 
    end 

    def valid_params 
     { name: 'Passport' } 
    end 

    it "must update document" do 
     put :update, id: @document, document: valid_params 
     assert_redirected_to documents_path 
    end 

Bu sınama geçer, ancak artık raylarda 4.2, hatayı koyar: DEPRECASYON UYARISI: serialized_attributes, değiştirilmeden kullanımdan kaldırılmıştır ve Rails 5.0'da kaldırılacaktır. "

Yani, bu örnekte ... "{name: 'Passport'}" serialized_attributes?

+1

Nasıl düzeltileceğini bilmek, onu nasıl kullandığınıza bağlı olacaktır. – sevenseacat

+1

Sadece bir şeyin toplum için bir bütün olarak iyi olmadığı düşünüldüğü için bunun sizin için iyi olmadığı anlamına gelmez. ActiveRecord modülünüzü, serialized_attributes içeren https://github.com/rails/rails/blob/4-2-stable/activerecord/lib/active_record/attribute_methods/serialization.rb adresindeki yöntemle genişletebilirsiniz. Bununla birlikte, bu kullanım dışı bırakma uyarısı, kodunuzdan değil, kullandığınız bir mücevherden geliyorsa, büyük olasılıkla Rails'in gelecekteki sürümlerini barındırabilmesi için o gemin yazarlarıyla bir bilet/sorun açmayı isteyeceksiniz. – kobaltz

+1

Kullanımdan kaldırılma, bu konuda tartışılmıştır: https://github.com/rails/rails/pull/15704. Uyarı biraz şaşırtıcı olarak karşımıza çıkıyor ve muhtemelen Rails yükseltme rehberine en azından bir referans eklemelidir. – mahemoff

cevap

8

paper_trail gemini mi kullanıyorsunuz? Eğer öyleyse, bu projede see issue #416.

+1

Paper_trail kullanıyorum. Bunun için teşekkürler. – hellion

+1

Paper_trail'in v4 beta sürümüne yükseltme (bu konuya bakın) uyarıları benim için kaldırdı. @hellion sizin için çözdüyse lütfen bu cevabı kabul edin. Bu, genel bir Rails güncellemesi olmasına rağmen, muhtemelen çoğu geliştirici, paper_trail ve rails_admin gibi bir avuç mücevher yüzünden bununla karşılaşacaktır. – mahemoff

İlgili konular