說我有控制器蘋果和蜜蜂,並在兩個新的行動。在Bee的新動作中,我設置了一些變量用於顯示「蜜蜂/新」。我碰巧也想從蘋果的新方法渲染這個相同的模板。在這種情況下設置變量的正確方法是什麼?我認爲抄襲蜜蜂的作業並不是正確的做法。從不同的控制器渲染視圖
0
A
回答
0
如果您打算在多個地方展示它,最好的方法是使用部分。您可以將所有相關的視圖代碼移到一個部分(我們稱之爲「apples_new」,這意味着您將它保存爲/app/views/apples/_apples_new.html.erb)。
然後,在你的定期蘋果/ new.html.erb查看您可以直接調用部分:
<!-- /app/views/apples/new.html.erb -->
<h1>Apples New</h1>
<%= render :partial => "apples_new" %>
而在你的蜜蜂 「新」 的觀點,你可以這樣做:
<!-- /app/views/bees/new.html.erb -->
<h1>Bees New</h1>
<% if @bees.has_apples? $>
<%= render :partial => "apples/apples_new" %>
<% end %>
請注意,在我上面的示例中,我添加了一些邏輯。我假設你只想在某些場景中調用相同的表單,所以我添加了「has_apples?」方法來演示邏輯。
0
快速注:您還可以壓縮邏輯成一行:
「蘋果/ apples_new」 如果@ bees.has_apples? %>相關問題
- 1. Phalcon - 從視圖中渲染控制器
- 2. 在symfony 2的sitelayout中渲染不同的控制器視圖
- 3. Zend Framework在模塊/控制器中渲染不同的視圖
- 4. 如何渲染來自不同控制器的視圖?
- 5. Sitecore的視圖渲染和控制器渲染助手
- 6. RSPEC測試控制器渲染視圖?
- 7. 渲染多個視圖/控制器雙
- 8. 從控制器渲染局部視圖或視圖
- 9. 渲染從其他控制器的部分視圖
- 10. 從Grails中的控制器渲染json視圖
- 11. 渲染從另一個控制器的視圖
- 12. 如何從Angular的控制器渲染視圖?
- 13. 將操作從一個控制器渲染到CakePHP中不同控制器的視圖中
- 14. 從一個控制器視圖到另一個控制器視圖的ASP.NET MVC 3 Razor渲染部分視圖
- 15. MVC3 - 渲染視圖不是控制器中的一種方法
- 16. C#渲染不帶控制器的局部視圖
- 17. Symfony2 - 不要渲染ZF等控制器的視圖setNoRender
- 18. Ruby on Rails 3:嘗試渲染來自不同控制器的視圖。但我得到相同的控制器
- 19. 從控制器發送渲染報告到一個視圖
- 20. 從另一個控制器渲染局部視圖
- 21. Grails&Navigation Plugin:從不同的控制器渲染子項目?
- 22. MVC:如何讓控制器渲染從視圖啓動的局部視圖
- 23. 如何在Zend中渲染2個不同控制器動作的視圖1.11
- 24. 樹枝:根據一個控制器動作渲染不同參數的視圖
- 25. 如何渲染來自不同模型/控制器的局部視圖?
- 26. Symfony2的{%渲染(控制器())%}
- 27. 將部分從一個控制器的視圖渲染到另一個控制器在軌道中的視圖
- 28. 從不同的視圖控制器打開相同的視圖
- 29. 從一個視圖控制器處理不同的控制器
- 30. Rails中控制器在另一個控制器中的渲染視圖