2010-01-19 3 views
0

기사, 프로필 및 의견이 있습니다. article/profiles과 commentable이라는 주석 사이에 다형성의 연관성이 있습니다.레일즈 다형성 분석 - 유효성 검사 오류 렌더링 부모 메시지 표시 플래시 동작

성공적으로 새로운 코멘트를 작성하면 나는 댓글이 가능한 상위 오브젝트를 성공 플래시로 리턴하고 유효성 검증 오류시 적절한 오류 플래시를 사용하여 동일한 작업을 수행하려고합니다.

렌더링하려면 무엇을 전달해야합니까?

def create 
    @commentable = find_commentable 
    @comment = @commentable.comments.build(params[:comment]) 
    if @comment.save 
    flash[:notice] = "Successfully created comment." 
    redirect_to @commentable 
    else 
    render '??path_to_commentable_object_show??' 
    end 
end 

나는 내가 commentable 클래스 이름을 잡아하고 lowercasing하여 경로를 구축 할 수도 있겠죠 ...하지만 그 어색한 것 같다.

+0

에 그를 보내? 동일한 문제가 발생하여 관련 모델에서 유효성 검사 오류를 표시하는 방법을 찾을 수 없습니다. – Peter

답변

0

주석 처리 가능한 클래스에서 경로를 작성하는 것이 일반적으로 수행 할 작업입니다.

사실, 당신은 경로 경로 도우미 이름을 구축 할 수 있습니다 당신은 이것에 대한 해결책을 찾았나요 후 컨트롤러

path = "edit_"+commentable.class.to_s.dasherize.downcase+"_path 
send(path.intern) 
+0

주석 처리 할 수있는 객체를로드 한 다음 표시 페이지를 렌더링해야합니다 ... 일명 의견을 말하고자하는 기사의 표시 페이지로 돌아가서 플래시 오류 메시지를 표시하고 여전히 시도한 원래 값을 유지해야합니다. 입력하십시오. 비 다형성 버전의 경우 수행 할 수있는 작업은 다음과 같습니다. @article = @ comment.article render 'article/show' – SWR

관련 문제