我們有2個Rails應用程序。一個從數據庫返回JSON,另一個是使用第一個應用程序作爲數據訪問的客戶端。但是,它太慢了。所以我們正在尋找替代品。將來,還會有其他客戶端使用返回JSON的應用程序,這就是我們將其分開的原因。Rails應用程序的視圖是否有可能從另一個應用程序擁有控制器?
這聽起來很瘋狂,但我想知道是否有可能爲一個Rails應用程序的視圖從另一個應用程序有一個控制器?
我們有2個Rails應用程序。一個從數據庫返回JSON,另一個是使用第一個應用程序作爲數據訪問的客戶端。但是,它太慢了。所以我們正在尋找替代品。將來,還會有其他客戶端使用返回JSON的應用程序,這就是我們將其分開的原因。Rails應用程序的視圖是否有可能從另一個應用程序擁有控制器?
這聽起來很瘋狂,但我想知道是否有可能爲一個Rails應用程序的視圖從另一個應用程序有一個控制器?
從其他應用程序中使用控制器是不可能的。根據你的意見,我認爲你應該有一個應用程序返回json或html。 Rails已經爲此提供了功能。例如: -
的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
的Rails 3.1:
class UsersController < ApplicationController
respond_to :html, :xml, :json
def index
@users = User.all
respond_with(@users)
end
end
謝謝米莎。其實,這就是我們現在正在做的事情。我們用JSON格式化我們的退貨。作品完美無瑕。 但是,另一個Rails應用程序正在使用第一個應用程序(返回JSON的應用程序),它基本上是一個Web客戶端。我們覺得它很慢。 我們之所以將它們分爲兩個應用程序,是因爲將來會有其他客戶端將第一個應用程序用作某種公共API。 –
@jhoeforth - 我看到你的問題。您不想爲每個新客戶端複製您的控制器代碼。它可能是一種解決方案,將控制器代碼提取到gem中,並在每個新應用程序中使用該gem。除此之外,我無法想到任何事情。 – Mischa
抱歉,問題現在關閉。你的解釋我認爲它不應該被關閉。 – Mischa
你的意思是Rails應用程序?你爲什麼要問?你必須解釋一些。你的問題沒有太大意義。 – Mischa
嗨,是的,它是一個軌道應用程序。基本上,我們有2個應用程序,一個從數據庫返回JSON,另一個是使用第一個應用程序作爲數據訪問的客戶端。但是,它太慢了。所以我們正在尋找替代品。 –
未來,還會有其他客戶端使用返回JSON的應用程序,這就是我們將其分開的原因。 –