2009-09-28 80 views
0

我想爲我的Rails應用程序創建一個非常簡單的Facebook應用程序。起初,因爲它非常簡單,所以我在PHP中創建了一些東西,將它放在應用程序空間之外並將回調URL設置爲那裏。不過,我寧願在我的Rails應用程序中生活的Facebook應用程序(原因之一是,所以我可以在必要時重用視圖)。我應該如何將Facebook應用程序整合到我當前的Rails應用程序(什麼架構)?

因爲我的Facebook應用程序看起來會有很大的不同,並且與我的Rails應用程序有很大不同,所以我需要不同的視圖和控制器操作來與這些視圖進行交談。我的第一個直覺是創建一個Facebook控制器,並以某種方式將所有「facebook.my_domain.com」請求路由到facebook控制器。這將允許我要求Facebook登錄只有該控制器的請求,並從主應用程序分離Facebook應用程序。我有read that a good method is to render different views based on the requested format但問題是如果請求格式不同,我不想在控制器操作中做同樣的事情。基於控制器動作中的請求格式,與模型進行不同的交互看起來很醜陋,而不是根據請求格式將所有請求映射到Facebook控制器,而是在特定於Facebook的控制器中與模型進行不同的交互。

這是否有意義,還是應該真的嘗試不添加Facebook控制器?

回答

1

您似乎不太可能將所有主應用程序的功能封裝到單個控制器中。這似乎是一個非常繁瑣的方法。

我會推薦的是在您的application_helper.rb中定義一個方法,它只是檢查傳入的請求是否是Facebook請求。然後,您可以在需要區分這兩種請求類型的控制器或視圖中使用該輔助方法。鑑於唯一的區別應該出現在表示層中,您應該只需要修改控制器以根據請求類型呈現適當的視圖,並創建facebook視圖。

您可能需要的唯一其他更改就是修改身份驗證/登錄代碼。由於facebook請求不需要以與常規應用程序相同的方式進行身份驗證,因此您可能需要爲它的時間添加一些條件。

相關問題