0

다형성 assoc/상속 된 자원으로 무슨 일이 일어나고 있는지 알기가 어려워서 설명서가 정확히 무엇을 의미하는지 모르겠다는 혼란이 있습니다. 설명서 내용 :상속받은 자원 belongs_to & polymorphic trouble

현재 상속 된 리소스가 제한되어 있으므로 두 개의 다형성 연결을 중첩 할 수 없습니다.

그러나이 예는 계속됩니다. 내 코드는 비슷하지만, 기본적으로, 나는 프로젝트 아래에 중첩하는 작업을 commentable로 프로젝트를해야 할뿐만 아니라, -

class CommentsController < InheritedResources::Base 
    belongs_to :project do 
     belongs_to :task, :file, :message, :polymorphic => true 
    end 
    end 

을 :

당신은 중첩 된 자원을 사용할 수 있습니다. - 그러나 단지 반 위의 코드는 작동 나는 다음을 수행하는 경우 :

class CommentsController < InheritedResources::Base 

    belongs_to :project, :polymorphic => true do 
     belongs_to :task, :polymorphic => true 
    end 

    end 

하지만 위의 작업을 수행 할 때, 나는 아직도 내가 위해 사용할 필요가 내 프로젝트 뷰, 내? 부모와 같은 방법을 잃고 있어요 리소스가 프로젝트인지 또는 작업인지를 확인하여 partial 형식의 올바른 params를 호출 할 수 있도록합니다 (하나의 탭에 프로젝트 주석 형식이 있고 다음에 작업용 탭이 있기 때문에 ajax가 양식) -

위의 내용이 정확히 설명서의 참조 사항 인 경우 궁금합니다. (하지만 위와 같이 중첩 할 때 나는 가능합니다. 프로젝트와 작업에 대한 의견을 게시하려면, 그다음에 내가 ac ould는 다형성 연관 오류를 찾지 못합니다. 따라서 누락 된 메소드를 제외한 작업 일 것 같습니다.) 누군가가 창의적인 해결 방법 아이디어를 갖고 있다면이 설정을 중첩하는 올바른 방법이 아닌지보십시오.

답변

0

설명서에서 말하는 것은 중첩 된 경우에 사용할 각 유형의 리소스를 지정해야한다는 것입니다. 이 예에서, 사용자가 쳤던 경로에 따라 프로젝트의 작업, 파일 또는 메시지를 사용하여 중첩 된 개체를 찾습니다.

코드 예제에서는 각 중첩에 대해 하나의 리소스 만 사용하므로 polymorphic => true로 수행하려는 작업을 확신하지 못합니다.