2016-09-25 6 views
1

나는 데이터베이스에서 아이템을 부드럽게 삭제하기 위해 ActsAsParanoid gem을 사용하여 Rails 4.2를 사용하고 있습니다. 나는 인덱스 .only_deleted 개체에 대한 컨트롤러 액션을 만들었습니다link_to 소프트 삭제 된 항목을 복구하는 방법?

... 내가 맛의을 렌더링하는 부분 _flavor를 사용하고, 그리고 궁금

class FlavorsController < ApplicationController 
    ... 
    def inactive 
     @flavors = Flavor.only_deleted 
     render action: :index 
    end 
    ... 
    end 

sample_controller.rb link_to 헬퍼를보고이 객체를 복원하는 방법? 뭔가 같은 ... 환타의 의견에

<%= link_to "Recover", flavor.recover %> 
+0

당신은 이미 대부분의 답을 가지고 있습니다.'flavors' 컨트롤러에'def recover'와 같은 새로운 액션을 추가하기 만하면됩니다. 그 액션에서'@flavor.recover' 만하십시오. 새로운 액션에 대한 새로운 멤버 라우트를 추가해야하고, 액션에서'@ flavor'를로드해야합니다. 그런 다음,'link_to'에서 추가 된 경로를 사용하십시오. – fanta

+0

@fanta 당신이 말했듯이 자세한 내용으로 대답 해 주시겠습니까?하지만 오류를 반환합니다. 'ActiveRecord :: RecordNotFound in FlavorsController # recover'id '= 1로 Flavor를 찾을 수 없습니다. [WHERE "flavors". " deleted_at "IS NULL]' –

+0

쿼리에'with_deleted' 범위가 누락 된 것 같습니다. 'Flavor.with_deleted.find (params [: id])'와 같습니다. – messanjah

답변