说我有控制器苹果和蜜蜂,并在两个新的行动。在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. Grails的渲染视图不同控制器的
- 4. Zend Framework在模块/控制器中渲染不同的视图
- 5. 从控制器渲染局部视图或视图
- 6. 从Grails中的控制器渲染json视图
- 7. 渲染从另一个控制器的视图
- 8. 渲染从其他控制器的部分视图
- 9. 将操作从一个控制器渲染到CakePHP中不同控制器的视图中
- 10. 从一个控制器视图到另一个控制器视图的ASP.NET MVC 3 Razor渲染部分视图
- 11. Symfony2 - 不要渲染ZF等控制器的视图setNoRender
- 12. 从控制器发送渲染报告到一个视图
- 13. 从另一个控制器渲染局部视图
- 14. Grails&Navigation Plugin:从不同的控制器渲染子项目?
- 15. MVC:如何让控制器渲染从视图启动的局部视图
- 16. 树枝:根据一个控制器动作渲染不同参数的视图
- 17. 从不同的视图控制器打开相同的视图
- 18. 将部分从一个控制器的视图渲染到另一个控制器在轨道中的视图
- 19. Rails中控制器在另一个控制器中的渲染视图
- 20. ASP.NET MVC2渲染它自己的控制器的局部视图
- 21. 控制渲染SVG图形?
- 22. 控制渲染流程图
- 23. 无法从Rails控制器渲染JavaScript
- 24. 从控制器渲染部分
- 25. 渲染Angularjs模板从控制器内
- 26. 从角度控制器渲染剃刀
- 27. 替代渲染(控制器())
- 28. 渲染控制器动作
- 29. 将视图渲染到控制器外部的字符串?
- 30. 如何渲染Json控制器中的局部视图