2014-12-23 15 views
11

이 경고는 대다수의 컨트롤러 테스트에서 나에게 (모든 사람에게) 나타납니다. 나는 그 경고를 알고 있습니다 ... 지금까지 ... 5가 풀릴 때까지. 이 지원 중단을 준수하기 위해 무엇을 변경해야하는지 확신 할 수 없습니다. serialized_attributes로 무엇이 변경 되었습니까? Id는이 경고를 사라지게하고 5.0을위한 준비 과정에서 나의 코드를 향상시키는 것을 좋아하지만 진행 방법을 확신 할 수 없습니다. 감사.Rails 4.2 DEPRECATION 경고 :`serialized_attributes`는 교체하지 않고 사용하지 않습니다.

갱신

컨트롤러 테스트에서 표준 업데이트 작업을 타격 ... 나는 오류 얻을 : (이 예를 들어 응축) 시험에

@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 

이 테스트는 통과되었지만 현재 4.2 레일에 다음과 같은 오류가 표시됩니다. DEPRECATION WARNING : serialized_attributes은 교체하지 않고 Rails 5.0에서 제거됩니다. "

그래서이 예제에서는 ... serialized_attributes "{name : 'Passport'}"입니까?

+1

문제를 해결하는 방법을 아는 것은 사용 방법에 따라 달라집니다. – sevenseacat

+1

커뮤니티 전체에 더 이상 좋지 않다고 여겨 졌다고해서 그것이 당신에게 좋지 않다는 것을 의미하지는 않습니다. serialized_attributes가 포함 된 https://github.com/rails/rails/blob/4-2-stable/activerecord/lib/active_record/attribute_methods/serialization.rb의 메소드로 ActiveRecord 모듈을 확장 할 수 있습니다. 그러나이 비추천 경고가 사용하고있는 코드에서 나온 것이 아니고 코드에서 나온 것이 아닌 경우, 그 파일의 저자와 함께 티켓/발행물을 열어 향후 레일 버전을 수용 할 수 있습니다. – kobaltz

+1

이 문제는 더 이상 사용되지 않습니다 : https://github.com/rails/rails/pull/15704. 이 경고는 다소 놀랍지 만, Rails 업그레이드 가이드에 대한 참조를 포함해야합니다. – mahemoff

답변

8

아마도 paper_trail 보석을 사용하고 있습니까? 그렇다면 프로젝트에서 see issue #416.

+1

나는 paper_trail을 사용하고 있습니다. 고마워. – hellion

+1

paper_trail의 v4 베타 (해당 문제 참조)로 업그레이드하면 나를위한 경고가 제거되었습니다. @ 셸리온 그것이 당신을 위해 그것을 해결하면이 대답을 받아주십시오. 이것은 일반적인 레일스 업데이트이지만, 아마도 대부분의 개발자는 paper_trail 및 rails_admin과 같은 소수의 보석 때문에이 문제를 겪을 것입니다. – mahemoff