2011-10-11 2 views
1

내 레일 2.3 응용 프로그램에서 API를 통해 다른 사이트로 일부 html 코드를 보내야합니다. html 코드는 다른 동작에 의해 렌더링됩니다. 컨트롤러가 렌더링 된 뷰 HTML 코드를 가져 오는 좋은 방법이 있습니까?렌더링 된보기 코드를 얻는 더 좋은 방법은 무엇입니까?

내가 생각할 수있는 한 가지 방법은 액션 A가 HTTP를 통해 액션 B를 호출하고 그 결과를 얻는 것입니다. 그러나 이것은 자원 낭비라고 생각합니다. 더 좋은 방법이 있습니까?

감사합니다.

답변

2

난 당신이 대신 클라이언트로의의 문자열로 렌더링의 출력을 보내드립니다 render_to_string을 원하는 생각합니다. format.js 응답 블록에서 사용하십시오.

api doc

+0

+1'render_to_string '이 명확한 방법입니다. – iwasrobbed

0
respond_to do |format| 
    format.js { render(:partial => 'some_thing.html.erb', :layout => false) } 
end 
+0

확인 하시겠습니까? 렌더링은 클라이언트에게 응답을 되돌려주는 ActionController를위한 특별한 방법이라고 생각합니다. 응답 내용을 반환하지 않습니다. –

관련 문제