2011-12-12 3 views
0

우리는 2 개의 레일 어플리케이션을 가지고 있습니다. 하나는 데이터베이스에서 JSON을 반환하고, 다른 하나는 첫 번째 애플리케이션을 데이터 액세스로 사용하는 클라이언트입니다. 그러나 너무 느립니다. 그래서 우리는 대안을 찾고 있습니다. 앞으로 JSON을 반환하는 애플리케이션을 사용할 다른 클라이언트가있을 것입니다. JSON을 분리 한 이유입니다.Rails 응용 프로그램의보기에서 다른 응용 프로그램의 컨트롤러를 사용할 수 있습니까?

미친 소리가 들리지만 Rails 애플리케이션보기에서 다른 애플리케이션의 컨트롤러를 사용할 수 있는지 알고 싶습니다.

+0

당신은 의미합니까 레일 응용 프로그램? 왜 물어 보니? 좀 더 설명해야합니다. 당신의 질문은 이것처럼별로 의미가 없습니다. – Mischa

+0

안녕하세요, 네, 레일 응용 프로그램입니다. 기본적으로 우리는 2 개의 응용 프로그램을 가지고 있으며, 하나는 데이터베이스에서 JSON을 반환하고 다른 하나는 첫 번째 응용 프로그램을 데이터 액세스로 사용하는 클라이언트입니다. 그러나 너무 느립니다. 그래서 우리는 대안을 찾고 있습니다. –

+0

앞으로 JSON을 반환하는 애플리케이션을 사용할 다른 클라이언트가있을 것입니다. JSON을 분리 한 이유입니다. –

답변

1

다른 응용 프로그램에서 컨트롤러를 사용할 수 없습니다. 귀하의 의견을 바탕으로, 나는 당신이 json 또는 HTML 중 하나를 반환하는 하나의 응용 프로그램이 있어야한다고 생각합니다. Rails는 이미이 기능을 제공합니다. 예컨대 :

레일 3.0 :

class UsersController < ApplicationController 
    def index 
    @users = User.all 
    respond_to do |format| 
     format.html 
     format.xml { render :xml => @users } 
     format.json { render :json => @users } 
    end 
    end 
end 

레일 3.1 :

class UsersController < ApplicationController 
    respond_to :html, :xml, :json 

    def index 
    @users = User.all 
    respond_with(@users) 
    end 
end 

출처 : Embracing REST with mind, body and soul

+0

감사합니다. 사실, 바로 지금 우리가 그것을하고있는 방법입니다. 우리는 JSON으로 수익을 포매팅하고 있습니다. 완벽하게 작동합니다. 그러나 다른 Rails 응용 프로그램은 JSON을 반환하는 첫 번째 응용 프로그램을 사용하고 있습니다. 기본적으로 웹 클라이언트입니다. 우리는 그것을 매우 느리게 찾습니다. 두 응용 프로그램으로 분리 한 이유는 앞으로 다른 응용 프로그램이 첫 번째 응용 프로그램을 일종의 공개 API로 사용할 것이기 때문입니다. –

+0

@jhoeforth - 문제가 있습니다. 새로운 클라이언트마다 컨트롤러 코드를 복사하고 싶지는 않습니다. 컨트롤러 코드를 추출하여 모든 새로운 응용 프로그램에서 사용할 수있는 솔루션 일 수 있습니다. 그 외에는 아무것도 생각할 수 없다. – Mischa

+0

죄송합니다. 지금 질문이 닫힙니다. 당신의 설명으로 나는 그것이 닫혀 있어야한다고 생각하지 않습니다. – Mischa

관련 문제