2011-10-10 5 views
0

삭제하기 전의 ID와 동일한 활성 리소스를 사용하여 삭제 된 레코드를 복원해야합니다.활성 리소스 개체의 ID 설정

a = ActiveResourceModel.new 

a.new? # true 

a = ActiveResourceModel.new 

a.id = 1234 

a.new? # false 

활성 자원 객체에 id 속성이 설정된 경우, 항상 저장된 객체로 간주되며 항상 레코드 업데이트를 시도합니다. id를 이전 값으로 설정하기 위해 사용자 지정 작업을 작성해야했습니다. 이 일을하는 다른 방법이 있습니까?

def new? 
    id.nil? 
end 

그래서 당신은 ID가있는 경우 create 직접

class YourModel < ActiveResource::Base 

    def restore 
    create 
    end 

    # or 
    def new? 
    @some_custom_flag_variable ? true : id.nil? 
    end 

end 

이 errrors을 처리 할 수 ​​있도록 준비 할 것을 new? 메서드를 재정의하거나 개인 메소드를 호출 할 수 있습니다

답변

1

ActiveResource::Base 원이 표시 이미 찍은,하지만 (누가 알 겠어?)