2008-12-10 72 views
1

我知道這很奇怪。但我無法想出其他方法去做我所需要的。 我有一個控制器:報告和視圖:報告。 另外我有一個視圖,可以看到幾個區域(部分)。 我需要將此報告視圖添加到我的儀表板,但不知道如何。 此報告視圖使用來自控制器的複雜邏輯並顯示結果。 我怎麼能將exise view(report)的(邏輯+表示)「卡住」到我的部分中,所以我可以在我的儀表板上使用它?有沒有辦法在部分內部運行視圖

謝謝。 閥門。

回答

1

(我希望我理解這個問題,在這裏...)

這部分似乎顯著:

本報告視圖利用了從控制器

複雜 邏輯一般來說,控制器應該很簡單。真的很簡單。經驗法則是「瘦控制器,胖模型」(Rails Envy提出了一些有趣但有用的方法screencasts on the subject

如果您創建了封裝邏輯的新模型(很可能不是從ActiveRecord :: Base繼承)會發生什麼?你想交付部分?然後,根據需要/不同的控制器/操作組合可以將信息傳送到您的視圖中。

;或者我完全錯過了點(不是不可能!)

0

前段時間我有一個類似的問題,當他們不贊成render_controller。我找到的唯一解決方案是使用ajax,將參數傳遞到要加載的頁面,繞過佈局。

0

如果我沒有記錯,你可以做一個render_component,但這在如今完全皺起了眉頭。

這是你的問題的最簡單的方法,雖然

0

我建議重構從遙控器的代碼(如果這是一個包含「複雜」的邏輯的一個),並把它變成一個包裝類,可以被儀表板和報告視圖使用。

相關問題