2011-09-05 46 views
1

我想用ExtDirect在Rails的3.所以我已經開始了一個第三方ExtJS的用戶界面,以更新活動直接寶石和Rails 3.這裏的工作是更新的版本:https://github.com/stonegao/active-direct可以在Rack中間件中調用Rails 3控制器嗎?

目前我修改後的活動直接插件/寶石與模型一起工作。我可以在JavaScript中執行此操作:

App.namespace.Project.all({params},callback_function); 

這太好了。

現在我想使用一些特殊的Rails 3控制器(即像服務一樣)。

在我Extdirect JS是這樣的:

App.mynamespace.MyProject_Controller_V1_workspaceController.getStatus 

這一反應也涉及到我的ExtJS的路由器。不,我想調用這個控制器動作並獲得響應。

我不能使用@app.call(env)具有改變REQUEST_URI因爲我在routes.rb中

不匹配是否有可能把這種控制器動作

規格extdirect的:http://tinyurl.com/4y3nc44

感謝skeller1

回答

0

是的,它是!

只是做這樣的事情:

status,headers,response=ProjectsController.action("index").call(@env) 

,所以你可以調用ProjectsController的索引方法。

要小心:ExtDirect接受HTTP_ACCEPT http標頭字段中的所有類型。 所以你可以你的要求的動作設置你想要的響應類型之前做

@env['HTTP_ACCEPT'] = "application/json" 

相關問題