2012-11-03 2 views
3

:이론 : method_missing 난 그냥 레일을 배우기 시작하고 나는 그것을 이해할 수 없다

을 나는 방법 쇼 (설명하지 않음)이없는 내 포스트 컨트롤러에서,하지만 난 내 컨트롤러에 넣어 그 :

def method_missing(name, *args) 
    redirect_to posts_path 
end 

컨트롤러가 액션 쇼를 찾지 못하면 method_missing을 호출하고 그 후에 index 메서드로 리디렉션하지만 Rails는 뷰 show.html.erb을 렌더링하려고 시도한다고 생각합니다.

메아리가 누락되지 않는 이유는 무엇입니까? method_missing은 어떻게 사용합니까?

+0

'설명되지 않음'은? 당신은 너무 – HungryCoder

답변

4

해당 템플릿이있는 경우 레일즈에 컨트롤러에 작업이 필요하지 않습니다. 그냥 비어있는 동작을 가정하고 템플릿을 렌더링하기 때문에 method_missing이 호출되지 않습니다.

show.html.erbmethod_missing을 제거하면 예상대로 작동합니다.

+0

당신의 PostsController를 올릴 수 있습니까? 그렇다면 컨트롤러가 method_missing을 호출 할 수 있습니까? –

+0

렌더링 할 템플릿이 없을 때 @DemitriyDN. –

+0

작동합니다.) tnk) –

관련 문제