Rails 4.2 ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕНИИ: `serialized_attributes` устарел без замены,

Это предупреждение появляется у меня (у всех) в большинстве тестов контроллера. Я знаю, что это просто предупреждение... пока... пока не выйдет 5. Я не уверен, что мне нужно изменить, чтобы соответствовать этому устареванию. Что изменилось с serialized_attributes? Я бы хотел убрать это предупреждение и улучшить свой код при подготовке к версии 5.0... но не знаю, что делать дальше. Спасибо.

Обновить

При нажатии стандартного действия обновления из теста контроллера... я получаю сообщение об ошибке:

@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

Этот тест проходит, но теперь в rails 4.2 появляется ошибка: ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕНИИ: serialized_attributes устарело без замены и будет удалено в Rails 5.0».

Итак, в этом примере... являются ли атрибуты serialized_attributes "{name: 'Passport'}"?


person hellion    schedule 23.12.2014    source источник
comment
Знание того, как это исправить, будет зависеть от того, как вы его используете.   -  person sevenseacat    schedule 23.12.2014
comment
Просто потому, что что-то считается плохим для сообщества в целом, не означает, что это плохо для вас. Вы можете расширить свой модуль ActiveRecord с помощью метода из github.com/rails/rails/blob/4-2-stable/activerecord/lib/, который содержит атрибуты serialized_attributes. Однако, если это предупреждение об устаревании исходит от гем, который вы используете, а не из вашего кода, вы, скорее всего, захотите открыть тикет/проблему с авторами этого гем, чтобы можно было использовать будущие версии Rails.   -  person kobaltz    schedule 23.12.2014


Ответы (1)


Возможно, вы используете гем paper_trail? Если это так, см. проблему № 416 в этом проекте.

person smathy    schedule 28.01.2015
comment
я использую paper_trail. Спасибо за это. - person hellion; 29.01.2015
comment
Обновление до бета-версии paper_trail v4 (см. этот выпуск) удалило предупреждения для меня. @hellion, пожалуйста, примите этот ответ, если он исправил его для вас. Хотя это общее обновление Rails, вероятно, большинство разработчиков в действительности столкнутся с ним из-за нескольких жемчужин, таких как paper_trail и rails_admin. - person mahemoff; 19.02.2015