2012-03-01 20 views
2

我正在重構一個rails 3應用程序,並且想知道如何最好地處理基於ajax的子組件?如何處理rails 3中基於ajax的子組件?

我有一個'儀表板'控制器。它通過'儀表板#顯示'操作呈現。

我現在想要一個基於ajax的'tabs'組件,它是儀表板的一部分。

我有兩個可能的解決方案:

溶液1:例如實現翼片部件作爲一個動作'儀表板#選項卡'(這是我目前的解決方案)。這給了我醜助手:

  • tabs_dashboard_path

解決方案2:implented它作爲嵌套資源如「儀表盤/標籤#秀」。這將給很好地命名傭工例如爲:

  • dashboard_tabs_path

霸菱記住我還有很多其他的AJAX組件這將是最好的行動過程中的?

如果我要使用解決方案2,我的資源將變得深深地嵌套,並且它們只會有一個「顯示」操作;這對我的喜好似乎有點過於冗長。

例如將指定的路線爲:

resource :dashboard, :only => [:show], :controller => "users/dashboard" do 
    resource :tabs :only => [:show], :controller => "users/dashboard/tabs" do 
    resource :steps :only => [:show], :controller => "users/dashboard/tabs/steps" 
    #etc.... 
    end 
end 

是否有一個良好的軌道的方式來處理呢?

+0

我在這裏有一個類似的問題:http://stackoverflow.com/questions/9585179/how-do-i-structure-rails-3-controllers-and-views-for-ajax-based-applications – user1243113 2012-03-09 16:38:49

回答

0

我傾向於保留我的控制器很少的動作,並且只處理基本的REST動詞。因此,在多場演出的情況下,我會保留單個dashboard#show並具有部分/佈局來處理選項卡。我的理由是標籤本身不是資源,我也不會對它們執行任何REST式操作。

相關問題