我會保持它簡短:我應該從Controller1
調用Controller2.getByCriteria(some, criteria, here)
然後設置一個實例變量供視圖使用,或者我應該從Controller1
的視圖調用它使用類似= render Controller2.getByCriteria(some, criteria, here)
?從視圖調用控制器操作...或不?
0
A
回答
2
一般來說,從另一個調用一個控制器的動作是一個設計錯誤。這意味着你有共同的業務邏輯,這意味着代碼應該在models
(或者可能是lib
),或者你有共同的查看邏輯,這意味着代碼應該在helpers
。
所以你的情況,我想用一個幫手似乎貼切:
module ApplicationHelper
# ...
def getByCriteria(some, criteria, here)
# handle criteria here
# Something like:
# render :partial => 'foo'
end
# ...
end
,然後簡單地從視圖調用它。
如果您想在整個應用程序中使用完整的控制器/視圖,例如組件共享,您可以使用名爲cells
的gem。它使您能夠創建可重複使用的控制器並查看組件。
2
正確的做法是將控制器方法(不是控制器操作)聲明爲幫助器。
相關問題
- 1. YII2如何從視圖調用控制器操作
- 2. 從視圖中的鏈接調用MVC控制器操作
- 3. Extjs4,如何從視圖調用控制器操作方法?
- 4. 如何從HTML視圖調用控制器操作?
- 5. 從視圖中調用控制器操作
- 6. 從另一個視圖控制器的視圖控制器觸發器操作
- 7. 從TagHelper調用控制器操作
- 8. ng視圖或控制器不工作
- 9. 從控制器的視圖調用不同的控制器動作雖然javascript
- 10. 首先ASP.NET MVC - 控制器/操作或視圖或ViewModels?
- 11. 如何從控制器操作中調用另一個控制器操作?
- 12. 從桌面視圖控制器推視圖控制器不起作用
- 13. 在視圖事件中調用ASP.NET MVC控制器操作
- 14. 在視圖內調用查詢(控制器操作)
- 15. 未在新視圖控制器中調用按鈕操作
- 16. 如何從視圖中呈現不同控制器的操作?
- 17. 在Rails調用方法 - 從控制器或從視圖
- 18. 從視圖Yii控制器調用?
- 19. 從視圖調用控制器 - Zend Framework
- 20. Symfony2 - 從視圖內調用控制器
- 21. 從另一個控制器操作中調用AsyncController操作?
- 22. 分割視圖控制器不作爲根視圖控制器
- 23. 從其自己的視圖控制器調用視圖的方法,不工作
- 24. 在拆分視圖控制器:調用詳細視圖控制器方法從主視圖控制器
- 25. 在控制器或視圖文件中獲取當前操作
- 26. 關閉或銷燬所有視圖控制器,操作表等?
- 27. 如何從視圖或任何位置調用控制器動作或控制器功能
- 28. MVC如何調用控制器中的操作從視圖返回值
- 29. PHP MVC - 從模型或控制器調用視圖函數?
- 30. 如何從我生成的控制器中調用默認控制器的索引操作,或者如何從我的控制器渲染索引視圖?
我可以做一些像 =呈現getByCriteria(一些,條件,在這裏) 在視圖中並讓getByCriteria()返回一個數組嗎? –