레일즈 2.3.5를 실행하는 앱에는 JSON API가 많이 있습니다.Rails 2.3에서 RJS MIME 유형을 어떻게 오버라이드합니까?
계약자가 와서 앱에서 몇 가지 작업을하고 몇 군데 RJS를 사용했습니다. 주요 웹 사이트에 RJS를 사용하는 일부 컨트롤러 작업 또한 API의 일부 여야합니다.
문제는 JSON API 요청이 내가 원하는 것이 아닌 RJS 응답을 트리거한다는 것입니다. 브라우저에서 RJS 응답을 보내고 싶습니다. 그러나 API 요청 ("application/json"Accept 및 Content-Type 헤더를 사용하여 구별 됨)이되면 API 응답을 보내고 싶습니다.
내가 무엇을 말할 수에서은, 레일 등
텍스트/자바 스크립트 응용 프로그램/JSON
가 할 수있는 방법이 있습니까 즉, 자바 스크립트를 포함 모든 MIME 유형에 대한 RJS 응답을 트리거 텍스트/자바 스크립트에만 응답하도록 RJS를 강제 하시겠습니까? 아니면이 문제를 해결할 더 좋은 방법이 있습니까?
def show
@dashboard = @user.dashboard
respond_to do |wants|
wants.html
wants.json { render :json => @dashboard }
end
end
의 문제점은,이 컨트롤러의보기 폴더에 show.rjs 템플릿이 :
내가 다음과 같습니다 코드를 가지고, 좀 더 명확하게합니다. 누군가가 API에 부딪혔을 때 json 결과를 렌더링하려면 위의 목록에서와 같이 대신 show.rjs 템플릿을 렌더링해야합니다.API 클라이언트가 원하는 json 결과를 얻고 웹 사이트의 사람들을 위해 RJS 템플릿을 렌더링하도록하려면 어떻게해야합니까? 응용 프로그램/JSON에 대한 응답의 내용 유형을 설정합니다 : 레일 문서 (http://api.rubyonrails.org/classes/ActionController/Base.html) "JSON 렌더링에 따르면"
def index
respond_to do |format|
format.html # Renders index.html.erb as usual
format.xml { render :json => {:name => "raskchanky"}.to_json }
end
end
: 컨트롤러의 액션에서
는