0
這裏是一個頻繁的情況:用戶有一個儀表板爲了向用戶顯示一些相關的信息。此外,使用可以在他的儀表板中執行一些操作。根據抽象,每個這些動作都有自己的控制器,它們並不都在儀表板控制器中。例如,爲了更新有關用戶的某些信息,您有user controller
而不是dashboard controller
。 dashboard controller
僅用於呈現一些信息。
好嗎?現在您的儀表板中有一個表單,將輸入發佈到任意控制器,並且我們想要在儀表板中呈現結果(成功時爲成功消息,如果失敗,則預填充表單,如果失敗則顯示錯誤)。如果我們在控制器中使用redirect_to
,我們將失去驗證錯誤和預先填充。如果我們使用render
,那麼儀表板模板中將會有未被證實的變量,我們會遇到一些錯誤。
處理這個問題有哪些技巧?
P.S:有一些類似的問題,但答案是使用render
,但它導致了上述問題,不起作用。軌道保持模型驗證錯誤
實例變量無關這個控制器斷裂抽象。不是嗎? – Pooya
是的,但是爲了你想要的選擇,要麼做或者使用ajax。如果你使用的是rails 4,你可以把它們放在一個包含 –
的問題中,或者只是用一個在before_filter中調用的私有控制器方法來獲取它們 –