鉴于以下观点:
views/users/show.html.erb
views/users/show.html+v2.erb
如果控制器上的变量设置为v2
,我如何从show.html+v2.erb
渲染show.html.erb
?
我会期待类似的东西formats
选项可用,但找不到它是什么。我最好的猜测是
- 这里堆栈溢出(它试图呈现自己):*
<%= render template: 'users/show', variant: :default %>
<h1> Additional stuff</h1>
- 注意:* 这是一个非常简单的例子,所以不建议提取模板。我的答案后的问题-如何呈现一个模板(S)在不同的变种。
2条答案
按热度按时间vd8tlhqk1#
这可以通过以下两种方式实现
在视图的渲染模板定义中显式命名变体扩展名:
或
在控制器中设置请求变量:
kmpatx3s2#
这是不可能的,您应该在没有特定变体的分部代码中编写可重用代码