2013-08-23 2 views
0

내 질문은 다른 컨트롤러 액션에 액세스하고 완료 한 후 하나의 액션에 액세스해야하며 두 번째 이유 액션에 또 다른 렌더링이 있어야합니다. 옵서버는 사용을 고려했지만, 읽은 것에서는 모델만을 다루었습니다.Ruby on Rails에서 컨트롤러의 동작에 대한 옵저버를 사용자 정의하는 방법

데프

데프

render :nothing => "", :locals => {:scheduling_id => scheduling_id} 

+1

컨트롤러 동작은 한 번만 렌더링 할 수 있습니다. 그렇지 않으면 이중 렌더링 오류가 발생합니다. 개념이 아니라 실제 문제 해결의 필요성을 보여줍니다. –

+0

빌리를 알고 있지만 상황이 다릅니다 –

답변

0

"작업"입니다 단지 메소드 호출을 action_2 끝

render :xml => {:success => "Msg success."} 

action_1. action_1action_2, but you can't call render more than once으로 전화 할 수 있으므로 처리해야 할 구조 문제가 있습니다.

아마도 이와 같은 것이 무엇입니까?

class MyController < ApplicationController 

    def my_action 
    # ... 
    my_shared_stuff 
    render ... 
    end 

    private 

    def my_shared_stuff 
    # ... shared things 
    end 

end 
+0

그래서 저는 관찰자가 action_2를 호출해야한다는 것을 알기 위해 action_1을 렌더링 할 때 Observer를 원했습니다. 내 상황은 XML_action_1을 webservice에서 반환하고 두 번째 액세스 메서드 js는 action_2.html.erb에서 렌더링해야한다는 것입니다. –

+0

@RachidCalazans 요청은 html, js, json, xml 또는 기타 형식 중 하나만 요청할 수 있습니다. 렌더링 할 수 있다고해도 어떻게 전달할 수 있습니까? –

+0

@BillyChan, 한 가지 유형 일 수 있습니다. 그래서 컨트롤러에서 Observer/Listiner를 사용하고 싶었습니다. 가능한가? 아니면 모델을 위해서? –

관련 문제