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?
Nasıl düzeltileceğini bilmek, onu nasıl kullandığınıza bağlı olacaktır. – sevenseacat
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
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